Full Code of GrafiteInc/CMS for AI

master 0ba0d09e2db2 cached
442 files
3.8 MB
1.0M tokens
1439 symbols
1 requests
Download .txt
Showing preview only (4,120K chars total). Download the full file or copy to clipboard to get everything.
Repository: GrafiteInc/CMS
Branch: master
Commit: 0ba0d09e2db2
Files: 442
Total size: 3.8 MB

Directory structure:
gitextract_hmjoo4u4/

├── .gitattributes
├── .github/
│   └── ISSUE_TEMPLATE/
│       └── bug_report.md
├── .gitignore
├── .travis.yml
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── changelog.md
├── composer.json
├── package.json
├── phpunit.xml
├── src/
│   ├── Assets/
│   │   ├── dist/
│   │   │   ├── css/
│   │   │   │   ├── all.css
│   │   │   │   ├── cms.css
│   │   │   │   └── vendor.css
│   │   │   ├── js/
│   │   │   │   ├── all.js
│   │   │   │   ├── cms.js
│   │   │   │   └── vendor.js
│   │   │   └── mix-manifest.json
│   │   ├── mimes.php
│   │   ├── src/
│   │   │   ├── js/
│   │   │   │   ├── cms.js
│   │   │   │   ├── dashboard-chart.js
│   │   │   │   ├── dashboard.js
│   │   │   │   ├── dropzone-custom.js
│   │   │   │   ├── forms.js
│   │   │   │   ├── modules.js
│   │   │   │   └── vendor/
│   │   │   │       ├── dropzone.js
│   │   │   │       └── typeahead.bundle.js
│   │   │   ├── sass/
│   │   │   │   ├── _base.scss
│   │   │   │   ├── _modules.scss
│   │   │   │   ├── _sidebar.scss
│   │   │   │   └── cms.scss
│   │   │   └── vendor/
│   │   │       ├── datepicker/
│   │   │       │   ├── bootstrap-datetimepicker-standalone.css
│   │   │       │   ├── bootstrap-datetimepicker.css
│   │   │       │   ├── moment-timezone.js
│   │   │       │   └── moment.js
│   │   │       ├── dropzone/
│   │   │       │   ├── basic.css
│   │   │       │   ├── dropzone-amd-module.js
│   │   │       │   ├── dropzone.css
│   │   │       │   ├── dropzone.js
│   │   │       │   └── readme.md
│   │   │       └── redactor/
│   │   │           ├── _langs/
│   │   │           │   ├── ar.js
│   │   │           │   ├── cs.js
│   │   │           │   ├── da.js
│   │   │           │   ├── de.js
│   │   │           │   ├── en.js
│   │   │           │   ├── es.js
│   │   │           │   ├── fa.js
│   │   │           │   ├── fi.js
│   │   │           │   ├── fr.js
│   │   │           │   ├── he.js
│   │   │           │   ├── hu.js
│   │   │           │   ├── it.js
│   │   │           │   ├── ja.js
│   │   │           │   ├── ko.js
│   │   │           │   ├── nl.js
│   │   │           │   ├── no.js
│   │   │           │   ├── pl.js
│   │   │           │   ├── pt_br.js
│   │   │           │   ├── ru.js
│   │   │           │   ├── sk.js
│   │   │           │   ├── sl.js
│   │   │           │   ├── sv.js
│   │   │           │   ├── tr.js
│   │   │           │   ├── zh_cn.js
│   │   │           │   └── zh_tw.js
│   │   │           ├── _plugins/
│   │   │           │   ├── alignment/
│   │   │           │   │   └── alignment.js
│   │   │           │   ├── beyondgrammar/
│   │   │           │   │   └── beyondgrammar.js
│   │   │           │   ├── clips/
│   │   │           │   │   ├── clips.css
│   │   │           │   │   └── clips.js
│   │   │           │   ├── counter/
│   │   │           │   │   └── counter.js
│   │   │           │   ├── definedlinks/
│   │   │           │   │   └── definedlinks.js
│   │   │           │   ├── filemanager/
│   │   │           │   │   ├── filemanager.css
│   │   │           │   │   └── filemanager.js
│   │   │           │   ├── fileselector/
│   │   │           │   │   └── fileselector.js
│   │   │           │   ├── fontcolor/
│   │   │           │   │   └── fontcolor.js
│   │   │           │   ├── fontfamily/
│   │   │           │   │   └── fontfamily.js
│   │   │           │   ├── fontsize/
│   │   │           │   │   └── fontsize.js
│   │   │           │   ├── fullscreen/
│   │   │           │   │   └── fullscreen.js
│   │   │           │   ├── handle/
│   │   │           │   │   ├── handle.css
│   │   │           │   │   └── handle.js
│   │   │           │   ├── imagemanager/
│   │   │           │   │   └── imagemanager.js
│   │   │           │   ├── imageselector/
│   │   │           │   │   └── imageselector.js
│   │   │           │   ├── inlinestyle/
│   │   │           │   │   ├── inlinestyle.css
│   │   │           │   │   └── inlinestyle.js
│   │   │           │   ├── limiter/
│   │   │           │   │   └── limiter.js
│   │   │           │   ├── properties/
│   │   │           │   │   └── properties.js
│   │   │           │   ├── specialchars/
│   │   │           │   │   └── specialchars.js
│   │   │           │   ├── stockimagemanager/
│   │   │           │   │   └── stockimagemanager.js
│   │   │           │   ├── table/
│   │   │           │   │   └── table.js
│   │   │           │   ├── textdirection/
│   │   │           │   │   └── textdirection.js
│   │   │           │   ├── textexpander/
│   │   │           │   │   └── textexpander.js
│   │   │           │   ├── variable/
│   │   │           │   │   ├── variable.css
│   │   │           │   │   └── variable.js
│   │   │           │   ├── video/
│   │   │           │   │   └── video.js
│   │   │           │   └── widget/
│   │   │           │       └── widget.js
│   │   │           ├── _scss/
│   │   │           │   ├── accessibility.scss
│   │   │           │   ├── animation.scss
│   │   │           │   ├── base.scss
│   │   │           │   ├── context.scss
│   │   │           │   ├── dropdown.scss
│   │   │           │   ├── fullscreen.scss
│   │   │           │   ├── icons.scss
│   │   │           │   ├── mixins.scss
│   │   │           │   ├── modal.scss
│   │   │           │   ├── placeholder.scss
│   │   │           │   ├── progress.scss
│   │   │           │   ├── redactor.scss
│   │   │           │   ├── source.scss
│   │   │           │   ├── statusbar.scss
│   │   │           │   ├── structure.scss
│   │   │           │   ├── styles.scss
│   │   │           │   ├── toolbar-air.scss
│   │   │           │   ├── toolbar.scss
│   │   │           │   ├── upload.scss
│   │   │           │   └── variables.scss
│   │   │           ├── redactor.css
│   │   │           └── redactor.js
│   │   └── themes/
│   │       ├── dark.css
│   │       └── standard.css
│   ├── Console/
│   │   ├── Keys.php
│   │   ├── ModuleComposer.php
│   │   ├── ModuleCrud.php
│   │   ├── ModuleMake.php
│   │   ├── ModulePublish.php
│   │   ├── ThemeGenerate.php
│   │   ├── ThemeLink.php
│   │   └── ThemePublish.php
│   ├── Controllers/
│   │   ├── ApiController.php
│   │   ├── AssetController.php
│   │   ├── BlogController.php
│   │   ├── DashboardController.php
│   │   ├── EventController.php
│   │   ├── FAQController.php
│   │   ├── FilesController.php
│   │   ├── GrafiteCmsController.php
│   │   ├── GrafiteCmsFeatureController.php
│   │   ├── HelpController.php
│   │   ├── ImagesController.php
│   │   ├── LinksController.php
│   │   ├── MenuController.php
│   │   ├── PagesController.php
│   │   ├── PromotionsController.php
│   │   ├── RssController.php
│   │   ├── SiteMapController.php
│   │   └── WidgetsController.php
│   ├── Facades/
│   │   ├── BlogServiceFacade.php
│   │   ├── CmsServiceFacade.php
│   │   ├── CryptoServiceFacade.php
│   │   ├── EventServiceFacade.php
│   │   ├── ModuleServiceFacade.php
│   │   └── PageServiceFacade.php
│   ├── GrafiteCmsProvider.php
│   ├── Helpers/
│   │   ├── blade.php
│   │   └── general.php
│   ├── Middleware/
│   │   └── GrafiteCmsAnalytics.php
│   ├── Migrations/
│   │   ├── 2015_07_03_133637_create_files_table.php
│   │   ├── 2015_09_29_193916_create_images_table.php
│   │   ├── 2015_09_29_211249_create_blogs_table.php
│   │   ├── 2015_10_03_021221_create_pages_table.php
│   │   ├── 2015_10_03_032000_create_widgets_table.php
│   │   ├── 2015_10_03_032005_create_archives_table.php
│   │   ├── 2015_10_12_195952_create_faqs_table.php
│   │   ├── 2015_10_12_196052_create_events_table.php
│   │   ├── 2015_10_28_174809_create_menus_table.php
│   │   ├── 2015_10_28_175046_create_links_table.php
│   │   ├── 2016_02_03_175046_add_tags_to_images.php
│   │   ├── 2016_02_03_185046_add_templates_to_pages.php
│   │   ├── 2016_03_20_185046_add_templates_to_blogs.php
│   │   ├── 2016_03_20_186046_add_templates_to_events.php
│   │   ├── 2016_06_01_002825_convert_to_published_at.php
│   │   ├── 2016_10_27_224359_create_translations_table.php
│   │   ├── 2016_12_11_034855_add_lang_to_translations_table.php
│   │   ├── 2017_01_11_132526_create_analytics_table.php
│   │   ├── 2017_06_10_234231_add_order_to_menus.php
│   │   ├── 2017_07_05_002825_add_blocks.php
│   │   ├── 2017_07_08_223935_add_entity_to_images.php
│   │   ├── 2017_12_14_045216_add_hero_images.php
│   │   └── 2018_08_24_191305_create_promotions_table.php
│   ├── Models/
│   │   ├── Analytics.php
│   │   ├── Archive.php
│   │   ├── Blog.php
│   │   ├── CmsModel.php
│   │   ├── Event.php
│   │   ├── FAQ.php
│   │   ├── File.php
│   │   ├── Image.php
│   │   ├── Link.php
│   │   ├── Menu.php
│   │   ├── Page.php
│   │   ├── Promotion.php
│   │   ├── Translation.php
│   │   └── Widget.php
│   ├── Providers/
│   │   ├── CmsEventServiceProvider.php
│   │   ├── CmsModuleProvider.php
│   │   ├── CmsRouteProvider.php
│   │   └── CmsServiceProvider.php
│   ├── PublishedAssets/
│   │   ├── Config/
│   │   │   └── cms.php
│   │   ├── Controllers/
│   │   │   ├── BlogController.php
│   │   │   ├── EventsController.php
│   │   │   ├── FaqController.php
│   │   │   ├── GalleryController.php
│   │   │   └── PagesController.php
│   │   ├── Middleware/
│   │   │   ├── GrafiteCms.php
│   │   │   ├── GrafiteCmsApi.php
│   │   │   └── GrafiteCmsLanguage.php
│   │   ├── Routes/
│   │   │   └── cms.php
│   │   ├── Setup/
│   │   │   └── resources/
│   │   │       └── views/
│   │   │           ├── admin/
│   │   │           │   ├── dashboard.blade.php
│   │   │           │   ├── roles/
│   │   │           │   │   ├── create.blade.php
│   │   │           │   │   ├── edit.blade.php
│   │   │           │   │   └── index.blade.php
│   │   │           │   └── users/
│   │   │           │       ├── edit.blade.php
│   │   │           │       ├── index.blade.php
│   │   │           │       └── invite.blade.php
│   │   │           ├── auth/
│   │   │           │   ├── activate/
│   │   │           │   │   ├── email.blade.php
│   │   │           │   │   └── token.blade.php
│   │   │           │   ├── login.blade.php
│   │   │           │   ├── passwords/
│   │   │           │   │   ├── email.blade.php
│   │   │           │   │   └── reset.blade.php
│   │   │           │   └── register.blade.php
│   │   │           ├── emails/
│   │   │           │   └── new-account.blade.php
│   │   │           ├── errors/
│   │   │           │   ├── 401.blade.php
│   │   │           │   ├── 404.blade.php
│   │   │           │   └── 503.blade.php
│   │   │           ├── partials/
│   │   │           │   ├── errors.blade.php
│   │   │           │   ├── message.blade.php
│   │   │           │   └── status.blade.php
│   │   │           └── user/
│   │   │               ├── meta.blade.php
│   │   │               ├── password.blade.php
│   │   │               └── settings.blade.php
│   │   ├── Theme/
│   │   │   └── resources/
│   │   │       └── themes/
│   │   │           └── themeTemplate/
│   │   │               ├── assets/
│   │   │               │   ├── js/
│   │   │               │   │   └── theme.js
│   │   │               │   └── sass/
│   │   │               │       ├── _basic.scss
│   │   │               │       └── _theme.scss
│   │   │               ├── blog/
│   │   │               │   ├── all.blade.php
│   │   │               │   ├── featured-template.blade.php
│   │   │               │   └── show.blade.php
│   │   │               ├── events/
│   │   │               │   ├── all.blade.php
│   │   │               │   ├── calendar.blade.php
│   │   │               │   ├── date.blade.php
│   │   │               │   ├── featured-template.blade.php
│   │   │               │   └── show.blade.php
│   │   │               ├── faqs/
│   │   │               │   └── all.blade.php
│   │   │               ├── gallery/
│   │   │               │   ├── all.blade.php
│   │   │               │   └── show.blade.php
│   │   │               ├── layout/
│   │   │               │   └── master.blade.php
│   │   │               ├── pages/
│   │   │               │   ├── all.blade.php
│   │   │               │   ├── featured-template.blade.php
│   │   │               │   ├── home.blade.php
│   │   │               │   ├── markdown-template.blade.php
│   │   │               │   └── show.blade.php
│   │   │               └── partials/
│   │   │                   ├── main-menu.blade.php
│   │   │                   └── navigation.blade.php
│   │   └── Views/
│   │       └── themes/
│   │           └── default/
│   │               ├── assets/
│   │               │   ├── js/
│   │               │   │   └── theme.js
│   │               │   └── sass/
│   │               │       ├── _basic.scss
│   │               │       ├── _patterns.scss
│   │               │       └── _theme.scss
│   │               ├── blog/
│   │               │   ├── all.blade.php
│   │               │   ├── featured-template.blade.php
│   │               │   └── show.blade.php
│   │               ├── events/
│   │               │   ├── all.blade.php
│   │               │   ├── calendar.blade.php
│   │               │   ├── date.blade.php
│   │               │   ├── featured-template.blade.php
│   │               │   └── show.blade.php
│   │               ├── faqs/
│   │               │   └── all.blade.php
│   │               ├── gallery/
│   │               │   ├── all.blade.php
│   │               │   └── show.blade.php
│   │               ├── layout/
│   │               │   └── master.blade.php
│   │               ├── pages/
│   │               │   ├── all.blade.php
│   │               │   ├── featured-template.blade.php
│   │               │   ├── home.blade.php
│   │               │   ├── markdown-template.blade.php
│   │               │   └── show.blade.php
│   │               └── partials/
│   │                   ├── main-menu.blade.php
│   │                   └── navigation.blade.php
│   ├── Repositories/
│   │   ├── BlogRepository.php
│   │   ├── CmsRepository.php
│   │   ├── EventRepository.php
│   │   ├── FAQRepository.php
│   │   ├── FileRepository.php
│   │   ├── ImageRepository.php
│   │   ├── LinkRepository.php
│   │   ├── MenuRepository.php
│   │   ├── PageRepository.php
│   │   ├── PromotionRepository.php
│   │   ├── TranslationRepository.php
│   │   └── WidgetRepository.php
│   ├── Requests/
│   │   ├── BlogRequest.php
│   │   ├── EventRequest.php
│   │   ├── FAQRequest.php
│   │   ├── FileRequest.php
│   │   ├── ImagesRequest.php
│   │   ├── LinksRequest.php
│   │   ├── MenuRequest.php
│   │   ├── PagesRequest.php
│   │   ├── PromotionRequest.php
│   │   └── WidgetRequest.php
│   ├── Routes/
│   │   ├── api.php
│   │   └── web.php
│   ├── Services/
│   │   ├── AnalyticsService.php
│   │   ├── AssetService.php
│   │   ├── BaseService.php
│   │   ├── BlogService.php
│   │   ├── CmsResponseService.php
│   │   ├── CmsService.php
│   │   ├── CryptoService.php
│   │   ├── EventService.php
│   │   ├── FileService.php
│   │   ├── ModuleService.php
│   │   ├── Normalizer.php
│   │   ├── PageService.php
│   │   ├── Traits/
│   │   │   ├── DefaultModuleServiceTrait.php
│   │   │   ├── MenuServiceTrait.php
│   │   │   └── ModuleServiceTrait.php
│   │   └── ValidationService.php
│   ├── Templates/
│   │   ├── AppBasic/
│   │   │   ├── Controller.txt
│   │   │   ├── Routes.txt
│   │   │   └── Views/
│   │   │       └── index.blade.txt
│   │   ├── AppCRUD/
│   │   │   ├── Controller.txt
│   │   │   ├── Routes.txt
│   │   │   └── Views/
│   │   │       ├── all.blade.txt
│   │   │       └── show.blade.txt
│   │   ├── Basic/
│   │   │   ├── Controller.txt
│   │   │   ├── Provider.txt
│   │   │   ├── Routes.txt
│   │   │   ├── Service.txt
│   │   │   └── Views/
│   │   │       ├── breadcrumbs.blade.txt
│   │   │       └── index.blade.txt
│   │   ├── CRUD/
│   │   │   ├── Controller.txt
│   │   │   ├── CreateRequest.txt
│   │   │   ├── ExtendedService.txt
│   │   │   ├── Facade.txt
│   │   │   ├── Factory.txt
│   │   │   ├── Model.txt
│   │   │   ├── Models/
│   │   │   │   └── Model.txt
│   │   │   ├── Provider.txt
│   │   │   ├── Routes.txt
│   │   │   ├── Service.txt
│   │   │   ├── Tests/
│   │   │   │   ├── Feature/
│   │   │   │   │   └── AcceptanceTest.txt
│   │   │   │   └── Unit/
│   │   │   │       └── ServiceTest.txt
│   │   │   ├── UpdateRequest.txt
│   │   │   └── Views/
│   │   │       ├── breadcrumbs.blade.txt
│   │   │       ├── create.blade.txt
│   │   │       ├── edit.blade.txt
│   │   │       └── index.blade.txt
│   │   └── Composer/
│   │       ├── composer.stub
│   │       └── readme.stub
│   ├── Traits/
│   │   └── Translatable.php
│   └── Views/
│       ├── dashboard/
│       │   ├── analytics-google.blade.php
│       │   ├── analytics-internal.blade.php
│       │   ├── empty.blade.php
│       │   ├── main.blade.php
│       │   └── panel.blade.php
│       ├── help.blade.php
│       ├── layouts/
│       │   ├── blank.blade.php
│       │   ├── dashboard.blade.php
│       │   ├── master.blade.php
│       │   ├── module-header.blade.php
│       │   ├── module-search.blade.php
│       │   ├── navigation.blade.php
│       │   ├── notifications.blade.php
│       │   └── tabs.blade.php
│       ├── modules/
│       │   ├── blocks.blade.php
│       │   ├── blogs/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── history.blade.php
│       │   │   └── index.blade.php
│       │   ├── events/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── history.blade.php
│       │   │   └── index.blade.php
│       │   ├── faqs/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── files/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── index.blade.php
│       │   │   └── menu.blade.php
│       │   ├── images/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── links/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── menus/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── pages/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── history.blade.php
│       │   │   └── index.blade.php
│       │   ├── promotions/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   └── widgets/
│       │       ├── breadcrumbs.blade.php
│       │       ├── create.blade.php
│       │       ├── edit.blade.php
│       │       └── index.blade.php
│       ├── notifications.blade.php
│       ├── rss.blade.php
│       └── site-map.blade.php
├── tests/
│   ├── .gitkeep
│   ├── Console/
│   │   └── ModuleMakeTest.php
│   ├── Feature/
│   │   ├── BlogTest.php
│   │   ├── DashboardTest.php
│   │   ├── EventsTest.php
│   │   ├── FAQTest.php
│   │   ├── FilesTest.php
│   │   ├── ImagesTest.php
│   │   ├── LinksTest.php
│   │   ├── MenuTest.php
│   │   ├── PagesTest.php
│   │   ├── PromotionsTest.php
│   │   └── WidgetsTest.php
│   ├── Services/
│   │   ├── AssetServiceTest.php
│   │   ├── BlogServiceTest.php
│   │   ├── CmsServiceTest.php
│   │   ├── CryptoServiceTest.php
│   │   ├── EventServiceTest.php
│   │   ├── NormalizerTest.php
│   │   └── PageServiceTest.php
│   ├── TestCase.php
│   ├── factories/
│   │   ├── BlogFactory.php
│   │   ├── EventFactory.php
│   │   ├── FAQFactory.php
│   │   ├── FileFactory.php
│   │   ├── ImageFactory.php
│   │   ├── LinkFactory.php
│   │   ├── MenuFactory.php
│   │   ├── PageFactory.php
│   │   ├── PromotionFactory.php
│   │   └── WidgetFactory.php
│   └── fixtures/
│       └── test-file.txt
└── webpack.mix.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
src/Assets/* linguist-vendored
src/Templates/* linguist-vendored

================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
 - OS: [e.g. iOS]
 - Browser [e.g. chrome, safari]
 - Version [e.g. 22]

**Smartphone (please complete the following information):**
 - Device: [e.g. iPhone6]
 - OS: [e.g. iOS8.1]
 - Browser [e.g. stock browser, safari]
 - Version [e.g. 22]

**Additional context**
Add any other context about the problem here.


================================================
FILE: .gitignore
================================================
/vendor
composer.phar
composer.lock
.DS_Store
/node_modules
.idea


================================================
FILE: .travis.yml
================================================
language: php

php:
  - 7.1

before_script:
  - travis_retry composer self-update
  - travis_retry composer install --no-interaction

script: vendor/bin/phpunit


================================================
FILE: CONTRIBUTING.md
================================================
# Contributions are always welcome

## Quick guide

 * Fork the repo.
 * Checkout the branch you want to make changes on:
  * Develop branch in 95% of the cases.
 * Install the dependencies: `composer install`.
 * Create branch such as: `feature-foo` or `fix-bar`.
 * Write some awesome code!
 * Add some tests, and ensure your code is PSR-2 compliant.
 * Submit your Pull Request

## When opening a pull request
You can do some things to increase the chance that your pull request is accepted the first time:

 * Submit one pull request per fix or feature.
 * If your changes are not up to date - rebase your branch on the parent branch.
 * Follow the conventions used in the project.
 * Remember about tests and documentation.

## Naming Conventions

 * Use camelCase, not underscores, for variable, function and method names, arguments.
 * Use namespaces for all classes.
 * Prefix abstract classes with Abstract.
 * Suffix interfaces with Interface.
 * Suffix traits with Trait.
 * Suffix exceptions with Exception.
 * Suffix services with Service.
 * Use alphanumeric characters and underscores for file names.

## PHPDoc

We generally follow the doc standards of Laravel.

```
/**
 * Register a binding with the container.
 *
 * @param  string|array  $abstract
 * @param  \Closure|string|null  $concrete
 * @param  bool  $shared
 * @return void
 */
public function bind($abstract, $concrete = null, $shared = false)
{
    //
}
```

## Other general standards we follow
 * [PSR-1: Basic Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md)
 * [PSR-2: Coding Style Guide](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md)
 * [PSR-4: Autoloading Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md)
 * [Symfony Coding Standards](http://symfony.com/doc/current/contributing/code/standards.html)


================================================
FILE: LICENSE.md
================================================
The MIT License (MIT)
Copyright (c) Grafite Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

================================================
FILE: README.md
================================================
# Grafite CMS

> Grafite has archived this project and no longer supports or develops this code. We recommend using only as a source of ideas for your own code.

**CMS** - Add a CMS to any Laravel app to gain control of: pages, blogs, galleries, events, custom modules, images and more.

[![Build Status](https://travis-ci.org/GrafiteInc/CMS.svg?branch=master)](https://travis-ci.org/GrafiteInc/CMS)
[![Packagist](https://img.shields.io/packagist/dt/grafite/cms.svg?maxAge=2592000)](https://packagist.org/packages/grafite/cms)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://packagist.org/packages/grafite/cms)

Grafite CMS is a full fledged CMS that can be added to any Laravel application. It provides you with full control of things like: pages, menus, links, widgets, blogs, events, faqs etc.
Grafite CMS comes with a module builder for all your custom CMS needs, as well as a module publishing tools. So if you decide to reuse some modules on future projects you can easily publish thier assets seamlessly. If you wish to make your Grafite CMS module into a PHP package, then you will need to have it publish its assets to the `cms/modules` directory.

### What is simple vs complex setup?
Simple setup uses Grafite Builder as the backbone of an app for you using Laravel, once the setup command has been run you will have a full CMS as an app. Complex setup is specifically for developers who want to add a CMS to their existing app.

##### Author(s):
* [Matt Lantz](https://github.com/mlantz) ([@mattylantz](http://twitter.com/mattylantz), mattlantz at gmail dot com)

## General Requirements
1. PHP 7.1.3+
1. MySQL 5.7+
2. OpenSSL

## Compatibility and Support
| Laravel Version | Package Tag | Supported |
|-----------------|-------------|-----------|
| 5.8.x | 3.3.x | no |
| 5.7.x | 3.x.x | no |
| 5.6.x | 3.0.x | no |
| 5.5.x | 2.4.x | no |
| 5.4.x | 2.3.x | no |

## Documentation

### Installation

Create a new Laravel application, and make a database somewhere and update the .env file.

* Run the following command:

```bash
composer require grafite/cms
```

* Then run the vendor publish:

```bash
php artisan vendor:publish --provider="Grafite\Cms\GrafiteCmsProvider"
```

!!! Tip "If you wish to use the publish datetime picker - set your app's timezone config to correspond with your location"

## Simple Setup

!!! warning "The simple setup requires a fresh Laravel application."

If you're looking to do a simple website with a powerful CMS, and the only people logging on to the app are the CMS managers.
Then you can run the setup command, it will install everything it needs, run its migrations and give you a login to start with.
Take control of your website in seconds.

```php
php artisan grafite:cms-setup
```

Now you're done setup. Login, and start building your amazing new website!

You can login as an admin with the following credentials:

```
U: admin@example.com
P: admin
```

## Complex Setup

!!! warning "Complex setup is needed for applications that have already have existing code including the login/logout set up."

If you just want to add Grafite CMS to your existing application and already have your own application running then follow the instructions below:

* Add the following to your routes provider:

```php
require base_path('routes/cms.php');
```

* Add the following to your app.scss file, you will want to modify depending on your theme of choice.

```css
@import "resources/themes/default/assets/sass/_theme.scss";
```

* Then migrate:

```bash
php artisan migrate
```

* Then add to the Kernel Route Middleware:

```php
'cms' => \App\Http\Middleware\GrafiteCms::class,
'cms-api' => \App\Http\Middleware\GrafiteCmsApi::class,
'cms-language' => \App\Http\Middleware\GrafiteCmsLanguage::class,
'cms-analytics' => \Grafite\Cms\Middleware\GrafiteCmsAnalytics::class,
```

In order to have modules load as well please edit the autoload psr-4 portion to your composer file:
```json
"autoload": {
    ...
    "psr-4": {
        "App\\": "app/",
        ...
        "Cms\\": "cms/"
        }
}
```

## CMS Access
Route to the administration dashboard is "/cms/dashboard".

Grafite CMS requires Grafite Builder to run (only for the FormMaker), but Grafite CMS does not require you to use the Grafite Builder version of roles. But you will still need to ensure some degree of control for Grafite CMS's access. This is done in the Grafite CMS Middleware, using the gate and the Grafite CMS Policy. If you opt in to the roles system provided by Grafite Builder, then you can replace 'cms' with admin to handle the Grafite CMS authorization, if not, you will need to set your own security policy for access to Grafite CMS. To do this simply add the Grafite CMS policy to your `app/Providers/AuthServiceProvider.php` file, and ensure that any rules you wish it to use are in within the policy method. We suggest a policy similar to below.

Possible CMS Access Policy:
```
Gate::define('cms', function ($user) {
    return (bool) $user;
});

Gate::define('cms-api', function ($user) {
    return true;
});
```

Or Using Grafite Builder:
```
Gate::define('cms', function ($user) {
    return ($user->roles->first()->name === 'admin');
});
```

### Fun Route Trick

If you're looking for clean URL pages without having to have the URL preceed with `page` or `p` then you can
add this to your routes.

> Make sure you put it at the bottom of the routes or it may conflict with others.

```php
Route::get('{url}', function ($url) {
    return app(App\Http\Controllers\Cms\PagesController::class)->show($url);
})->where('url', '([A-z\d-\/_.]+)?');
```

### Roles & Permissions (simple setup only)

With the roles middleware you can specify which roles are applicable separating them with pipes: `['middleware' => ['roles:admin|moderator|member']]`.

The Grafite CMS middleware utilizes the roles to ensure that a user is an 'admin'. But you can elaborate on this substantially, you can create multiple roles, and then set their access in your app, using the roles middleware. But, what happens when you want to allow multiple roles to access the CMS but only allow Admins to access your custom modules? You can use permissions for this. Similar to the roles middleware you can set the permissions `['middleware' => ['permissions:admin|cms']]`. You can set custom permissions in `config/permissions.php`. This means you can set different role permissions for parts of your CMS, giving you even more control.

## API Endpoints

Grafite CMS comes with a collection of handy API endpoints if you wish to use them. You can define your own policies for access and customize the middleware as you see fit.

#### Token

The basic Grafite CMS API endpoints must carry the Grafite CMS `apiToken` defined in the config for the app. This can be provided by adding the following to any request:

```
?token={your token}
```

** All published and public facing data will be available via the API by default.

```
/cms/api/blog
/cms/api/blog/{id}
/cms/api/events
/cms/api/events/{id}
/cms/api/faqs
/cms/api/faqs/{id}
/cms/api/files
/cms/api/files/{id}
/cms/api/images
/cms/api/images/{id}
/cms/api/pages
/cms/api/pages/{id}
/cms/api/widgets
/cms/api/widgets/{id}
```

## Images

Images are resized on upload for a better quality response time. They follow the guidelines specified in the `config` under `cms.max-image-size`.

## S3

Regarding S3 bucket usage. You will need to set the permissions accordingly to allow images to be saved to your buckets. Then you need to set your buckets to allow public viewing access.
This is an example of such a policy.

```
{
    "Version":"2008-10-17",
    "Statement":[{
        "Sid":"AllowPublicRead",
        "Effect":"Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action":["s3:GetObject"],
        "Resource":["arn:aws:s3:::MY_BUCKET/public/images/*"]
    }]
}
```

Replace `MY_BUCKET` with your bucket name.

## FileSystem Config

If using S3 you will need to add the following line to your filesystem config: `'visibility' => 'public',`

Also Provides
------
The Grafite CMS package also provides the following packages:

* DevFactory/Minify
* Grafte/Builder

### Config

Grafite CMS has a rather elaborate config with many options available. You can expand the core modules, enable / disable features, and configure so much more.

| Key | Description |
| ------ | ----- |
| analytics | Choose an analytics engine for the dashboard (internal or google) |
| pixabay | Your pixabay API code |
| db-prefix | Add a prefix to the Grafite CMS content tables |
| live-preview | Preview your site in the editor view |
| frontend-namespace | Sets the default namespace for the frontend code |
| frontend-theme | The theme for the frontend |
| load-modules | Do you want to load the external modules |
| module-directory | Directory for custom Grafite CMS modules |
| active-core-modules | Which core Grafite CMS modules are active |
| rss | A set of attributes which can be set for the RSS feed |
| site-mapped-modules | The module urls and their repositories that build the site map XML |
| auto-translate | Automatically translate your content to other languages with Google Translate |
| default-language | Your website's default language |
| languages | Languages available in your website (enables their tabs in the editor) |
| storage-location | Storage for files/ images (s3 or local) |
| max-file-upload-size | The maximum file size for upload (Must also be set in php.ini) |
| preview-image-size | When uploading images we cache clones at a smaller size (default: 800) |
| cloudfront | Set a cloudfront URL to swap for the S3 bucket link |
| backend-title | A title for the CMS (default: cms) |
| backend-route-prefix | The route prefix for the backend of the CMS (default: cms) |
| backend-theme | Theme for the backend (standard|dark) |
| registration-available | Enable or disable registration |
| pagination | Results per pack in backend |
| api-key | Api Key for the Redactor photo and file injection |
| api-token | Api Token for the Redactor photo and file injection, and the general external API calls |
| forms | Forms config for core modules |

### API

Grafite's CMS API is very simple, and it has a VERY simple auth system using a single token which can be defined with in your env. You can easily use this to manage integration with various platforms etc.
The general base route for all API requests is:

```
/cms/api/{resource-url}?token={CMS_API_TOKEN}
```

| URL | Resource |
| ------ | ----- |
| blog | Blog |
| events | Events |
| endorsements | Endorsements |
| faqs | FAQs |
| files | Files |
| images | Images |
| pages | Pages |
| widgets | Widgets |

Each of these routes can be called or, you can also get a specific resource instance with the ID:

Example:
```
/cms/api/blog/1?token=9a78sd6f9as6df9
```

### Multilingual

Translations
-----
All too often we need translations in our sites and even our apps. Grafite CMS has got a very simple way of handling multiple languages. Translations is set up so that in the config if you add any languages to the `languages` array you will be able to define custom entries for those languages.

#### Auto-Translate

```php
auto-translate: false
```

In order to enable the auto-translate ensure that it is set to true in your config.

## Translatable Modules

Simply add the translatable trait to your module's model and then update your modules to follow a similar pattern to the Grafite CMS pages structure see the following files for reference:

```
Grafite\Cms\Controllers\PagesController
Grafite\Cms\Repositories\PageRepository
Grafite\Cms\Models\Page
```

#### Archiving and Clean up:

You will need to extend `CmsModel` rather than the default Model. It will also need to use the `Translatable` Trait.

```
use Grafite\Cms\Models\CmsModel;
use Grafite\Cms\Traits\Translatable;

class Books extends CmsModel
{
    use Translatable;
}
```

You will also need to set bindings similar to this in your module event provider.

```
'eloquent.saved: Grafite\Cms\Models\Page' => [
    'Grafite\Cms\Models\Page@afterSaved',
],
'eloquent.created: Grafite\Cms\Models\Page' => [
    'Grafite\Cms\Models\Page@afterCreate',
],
'eloquent.deleting: Grafite\Cms\Models\Page' => [
    'Grafite\Cms\Models\Page@beingDeleted',
],
```

These bindings ensure that when you save you create an archive of the previous entry, and on deleting of a item the system clears out any translations and archives it left behind.
The created binding allows for the auto-translate so you can utilize the power of Google Translate.

## Language Links

Grafite CMS comes with a blade directive which generates links for your supported languages and provides a simple way to swap between the languages of a single page or blog entry while remaining on the same URL.

## Supporting Language URL Prefixes

By default we support the use of cookies to handle languages and swapping them. Since each page/blog/event etc can have a specific url relative to its language with this current build there isn't much point to the prefixes for languages. But, that being said, sometimes its handy so here is an easy way to add support for it.

Just add this code to the `map()` method in the `RouteServiceProvider.php`:

```php
$segments = request()->segments();
$supportedLanguages = array_keys(config('cms.languages'));

if (isset($segments[0]) && in_array($segments[0], $supportedLanguages)) {
    $language = $segments[0];
    unset($segments[0]);
    return redirect(implode('/', $segments))->withCookie('language', encrypt($language))->send();
}
```

### Promotions

Much like the term implies promotions are like advertisements. They are intended to be treated like widgets, the main difference is that they have time scopes. This means you can put together promotional materials and content and set their publish date and time, as well as a finished at date and time to have the promotion disappear. This makes it very easy to schedule launches of campaigns etc.

```
@promotion('slug')
```

You can set these on any theme files. We recommend you leave them in the theme files and simply change the content and dates when you need to.

### Themes

Grafite CMS has a full scope theming tool built right in. You can easily generate basic themes that can be built on and kept clear of your views.
All the listed templates with a star are optional - otherwise everything else is required, for the basic support.

Basic Theme Structure
------
* assets
    * js
        * theme.js
    * sass
        * _basic.scss <span class="fa fa-star"></span>
        * _theme.scss
* blog
    * all.blade.php
    * featured-template.blade.php
    * show.blade.php
* events
    * all.blade.php
    * date.blade.php
    * calendar.blade.php
    * featured-template.blade.php
    * show.blade.php
* faqs
    * all.blade.php
* gallery
    * all.blade.php
    * show.blade.php
* layout
    * master.blade.php
* pages
    * all.blade.php
    * featured-template.blade.php
    * home.blade.php
    * show.blade.php
* partials
    * navigation.blade.php
* public
    * img

You have the ability to include other theme views into your view using the <code>&#64;theme('path')</code> directive with Blade. Otherwise its basically anything and everything Blade can do including any directives you wish to expand it with.

### Blade Directives

Grafite CMS has some custom directives added to Blade which allows you to include files from your theme easily, as well as other parts.

#### &#64;theme('path.to.view')
You can always add the <code>cms-frontend::</code> namespace to the <code>&#64;include('path')</code> or instead use <code>&#64;theme('path')</code>.

#### &#64;block('slug')

Create unique and elegant designs with block directives in your templates for pages and blogs.

!!! Warning
    With the block blade directive you do not specify the module it needs to load, it determines that from the first string in the request URL.
    It will default to page if no matching module name matches the URL. In the case of something like `events`, it expects the variable in the template
    to be `$event`. It is wrapped in the `optional` method to protect the view from breaking the app.

#### &#64;menu('slug')

Easily add menus to your views with the menu blade directive.

#### &#64;modules(['modules-to-ignore'], 'link-class', 'list-item-class')

Generate links to modules automatically (Bootstrap 4 by default).

#### &#64;widget('slug')

Add widgets to your views with the menu blade directive, just specify the SLUG.

#### &#64;image('id', 'class')

Provides an image URL with an html tag and extra for adding a class

#### &#64;image_link('ID')

Provides an image URL

#### &#64;images('tag')

Images will be provided as an array, and if you skip the tag then the method will return all images, otherwise it follows the tagging.

#### &#64;edit('module', 'id')

There is also the Grafite CMS Service which can be run inside your blade views. Its as simple as {{ Cms::method() }}

#### &#64;markdown('content')

Convert your markdown blog or page entries into HTML.

#### &#64;languages('link-class', 'list-item-class')

Generate links for each supported lanugage in your website

Helper Methods Available:
------
* menu('slug', 'optional-view-path')
* images('tag')
* widget('slug')
* editBtn('module', 'id')

### Pages and Blocks

There are some special features for pages which are not available for other parts of the site.

#### Blocks

Pages are special and can often require complex designs. If your application needs some of the more abstract designs you can still use Grafite CMS for page management by using the block system.

```php
{!! $page->block('main') !!}
```
or
```
{{ block('main') }}
```

By placing code like this in your template Grafite CMS will generate the `main` block if it does not exist yet. If it does and has content it will render the content. It's really that simple.

### Publishing

#### Command
```
php artisan theme:publish {name}
```

The Grafite CMS theme publisher will publish the public directory only. If you want to integrate assets you need to do so using your `webpack` or `gulp` file, pending on which setup you use.

| Laravel Verison | Asset builder |
| --- | --- |
| 5.4+ | `webpack.mix.js` |
| 5.3 | `gulpfile.js` |

Basic Theme (top tier)
------
* assets
* blog
* events
* faqs
* gallery
* layout
* pages
* partials
* public
    * img

### Symlink

#### Command
```
php artisan theme:link {name}
```

The Grafite CMS theme link tool will create a symlink between your public folder and a folder in your public directory called `theme`.
This can make it easier to manage assets within a theme.

| Laravel Verison | Asset builder |
| --- | --- |
| 5.4+ | `webpack.mix.js` |
| 5.3 | `gulpfile.js` |

Basic Theme (top tier)
------
* assets
* blog
* events
* faqs
* gallery
* layout
* pages
* partials
* public -> `{app_directory}/public/theme`
    * img

### Modules

Grafite CMS comes with a handful of modules for handling a basic application/website including: Images, Files, Blog, Pages, Faqs, etc.
Below you will find a full listing of the modules that come pre-packaged with Grafite CMS.
In order to create your own Modules and ensure that they are loaded you MUST add `"Cms\\": "cms/"` to the PSR-4 group in your `composer.json` file.

Pre-packaged Modules
------
* Blog
* Pages
* Menus
* Widgets
* Faqs
* Images
* Files
* Events

You have the freedom to make any modules you want. You can use the `artisan module:make` or the `artisan module:crud` to generate them and then `artisan module:publish` to publish their contents.

### Assets

Grafite CMS modules have an `Assets` directory which is intended to contain all your JS and SASS or CSS. In order to load the Assets in your Module, you can use the `Cms` facade.

Grafite CMS comes with a Minify package so you can easily load your modules assets with calls like below. You don't have to set the content-type.
But pending on what you're loading you may want to override what the Cms service determines is the content-type.

So if you want to load your css file in your Sample module's Assets you could do the following:

`Assets/css/styles.css` is the file we're grabbing.

```
<link rel="stylesheet" type="text/css" href="{{ Cms::moduleAsset('sample', 'css/styles.css', 'text/css') }}">
```

Or we can load some JavaScript, and yes jQuery is already inside Grafite CMS.

`Assets/js/module.js` is the file we're grabbing.

```
<script type="text/javascript" src="{{ Cms::moduleAsset('sample', 'js/module.js', 'application/javascript') }}"></script>
```

### Composer

So now you've made a CMS module and it's serving your application well, but now you've decided that it would make more sense for it to be a composer package, that you can run inside any app for easier maintenance. This also gives you far more freedom to decide how you wish to integrate the module into your app.

```
module:composer {name} {namespace}
```

This will generate a composer file, as well set the namespace of your module to a new package namespace.

### Config

The configs are autoloaded and are added to the cms config.

```
config('cms.modules.sample') // would retrieve the sample modules internal config.php contents
```

If you want to access a config that is customizable for your module you can publish one:

```
php artisan vendor:publish
```

### CRUD

Grafite CMS can generate custom CRUD modules for your application giving it all the power you want as fast as possble. Simply run the command: `php artisan module:crud` and discover the many hidden powers inside the Grafite CMS.
The CRUD generator will produce a module with basic unit tests started. You would then need to setup your migrations etc, and then publish the module to your app. Check out the publishing for more details.

#### Forms
You can use the Form Maker tool which is provided by [Grafite Builder](https://github.com/GrafiteInc/Builder)

#### Redactor
You can utilize redactor (the WYSIWYG) in your CRUD by adding `.redactor` to any textarea class.

#### Images and Files:
Inside the redactor instance you can easily add images and files which you have uploaded to Grafite CMS. Its as easy as clicking them to have them added to the entry.

#### Front-end/ Theme
When you generate a module the system will also generate a front-end or theme component which is kept in the `Publishes` directory. The is the portion of code that your visitors will see. You will need to publish this code using the `php artisan module:publish {name}` command.
Provided you leave the module inside the `cms/modules` directory. However, you can also make your module into a composer package.

### Files &amp; Images

Grafite CMS is always concerned with security of what you provide, the potential open doors in your website/ app. As such, the Files which are uploaded to the CMS are locked outside of the public access points.

*What does this mean?*

This means that when you're website is providing these to visitors they are actually getting them through an API access point. This is done to ensure that the files do not reveal thier location. This means that no webscrappers can crawl your directories and take off files they shouldn't be, including files that have yet to be released.

#### Storage Location

In the config you can set the storage location for your file uploads. This can be either S3 or local. To get S3 to work correctly you need to configure Laravel as you would with S3. Grafite CMS will take it from there. So simply add your details to the config and it should work. The CMS loads all the third-party packages you will need.

### Make

Grafite CMS has a powerful CRUD builder. But lets say you want to have a custom module that integrates with another service or doesn't involve a CRUD at all.
Then the `php artisan module:make` command will be your best tool. It will create a minimum viable module with a very basic admin layer and client layer which you can customize as you see fit.

#### Redactor
You can utilize redactor in your module by adding `.redactor` to any textarea class.

#### Images and Files:
Inside the redactor instance you can easily add images and files which you have uploaded to the CMS. Its as easy as clicking them to have them added to the entry.

#### Front-end/ Theme
When you generate a module the system will also generate a front-end or theme component which is kept in the `Publishes` directory. The is the portion of code that your visitors will see. You will need to publish this code using the `php artisan module:publish {name}` command.

### Publish

All custom modules will need to have their `Publishes` folder published in order to have their code added to you app. We've wrapped this into one simple command:

```
php artisan module:publish
```

Running this will place the files in the matching folders in your app. So if you want to have files put in migrations make sure your `Publishes` folder has a migration file in a directory like this:

```
Publishes/database/migrations/migration_file.php
```

If you switch themes in Grafite CMS you will need to republish your module. The views are added directly into the themes.

## License
Grafite CMS is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)

## Redactor License
Grafite has an OEM licence for the use of Redactor in the Grafite CMS package.
You are fully welcome to use Grafite CMS package and incorporate it into any apps you build, you are permitted to offer those apps as SaaS or other products.
However, you are not entitle to strip out parts of Redactor and resell them, please see this [license](https://imperavi.com/redactor/license/) for more information

### Bug Reporting and Feature Requests
Please add as many details as possible regarding submission of issues and feature requests

### Disclaimer
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: changelog.md
================================================
# Change Log - Grafite CMS
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
----

## [v3.3.0] - 2019-09-04

### Added
- Compatible with Laravel 5.7 and up

## [v3.2.2] - 2018-10-25

### Added
- Ability to delete hero images

### Changed
- Module migrations

### Fixed
- npm security audit
- Mobile UI fixes
- Menu and link fixes

## [v3.2.1] - 2018-09-14

### Fixed
- Issue with middleware not being added via simple setup

## [v3.2.0] - 2018-09-06

### Changed
- Laravel 5.7 support

## [v3.1.9] - 2018-09-06

### Changed
- Added info on Redactor to readme

### Fixed
- Issue with file and image upload

## [v3.1.8] - 2018-09-05

### Fixed
- Issue with file and image uploads
-  and bulk photo delete

## [v3.1.7] - 2018-09-03

### Added
- New Promotions component
- All new Redactor 3 integration
- Google Analytics support upgrade

### Changed
- Improved API component
- Improved module templates
- Link page connection improvements

### Fixed
- Issues with languages
- Issues with UI
- Issues with images

## [v3.1.6] - 2018-08-01

### Changed
- Improved the urls of published files

### Fixed
- Issue with CMS modules
- Issues with translations
- Issue with notifications

## [v3.1.5] - 2018-07-03

### Changed
- Added optional class to menu blade directive

### Fixed
- Issue with menus
- Issue with BaseService files

## [v3.1.4] - 2018-06-24

### Changed
- Minor code cleanup

### Fixed
- Issue with notifications

## [v3.1.3] - 2018-06-18

### Fixed
- Minor issues with dark theme
- Test fixes

## [v3.1.2] - 2018-06-18

### Added
- Translatable menu links
- New theme symlink command

### Fixed
- Side panel spacing
- Translation improvements

## [v3.1.1] - 2018-04-19

### Fixed
- Issue with file and image saving
- Improved language switching links

## [v3.1.0] - 2018-04-12

### Added
- RSS feed
- Module Block support
- Site Map
- Block directive support for Blogs

### Fixed
- Routes
- Success Messages
- Table CMS prefixes
- Link validation
- Module searches

## [v3.0.1] - 2018-03-23

### Fixed
- Minor style fixes

## [v3.0.0] - 2018-03-23

### Changed
- Bootstrap upgrade
- Overhaul of codebase
- General Improvements
- Laravel 5.6 compatibility upgrade

## [v2.4.6] - 2018-02-21

### Fixed
- Issue with payloads

## [v2.4.5] - 2018-02-21

### Added
- Cloudfront support

### Fixed
- Security concern
- Language issue
- Date issue

## [v2.4.4] - 2017-10-25

### Added
- WYSIWYG icon feature

## [v2.4.3] - 2017-09-21

### Changed
- Removed logout link from basic theme

### Fixed
- Fixed issue with setup command
- Corrected a bad route definition

## [v2.4.2] - 2017-09-19

### Fixed
- Issue with blog tags

## [v2.4.1] - 2017-09-18

### Added
- published_at as dates
- enhanced the admin dashboard

### Changed
- Code clean up

## [v2.4.0] - 2017-09-15

### Changed
- Now supporting Laravel 5.5

## [v2.3.32] - 2017-09-15

### Changed
- Improved loading time of images drastically

### Fixed
- Refactored the images as assets

## [v2.3.31] - 2017-08-11

### Fixed
- Further image improvments

## [v2.3.30] - 2017-08-10

### Fixed
- Minor issues with Images

## [v2.3.29] - 2017-07-10

### Fixed
- Minor issue with Quazar tests

## [v2.3.28] - 2017-07-10

### Added
- New entity relations for images
- Bulk image deleting

## [v2.3.27] - 2017-07-06

### Fixed
- Fixes issue with JS which broke the image upload

## [v2.3.26] - 2017-07-03

### Fixed
- Issue with blog history view

## [v2.3.25] - 2017-06-22

### Added
- Sortable menus

### Fixed
- Issue with images

## [v2.3.24] - 2017-06-03

### Fixed
- Corrected internal API issue

## [v2.3.23] - 2017-06-03

### Added
- Backend route prefix default: cabin

### Changed
- Refactored asset caching and local detection

### Fixed
- Issue with widgets and translations

## [v2.3.22] - 2017-05-31

### Changed
- Refactored the asset system

### Fixed
- Updates to the generated tests

## [v2.3.21] - 2017-05-18

### Fixed
- Minor issues with images and S3

## [v2.3.20] - 2017-05-15

### Changed
- Switched to admin@example.org

## [v2.3.19] - 2017-05-07

### Fixed
- Fixes an issue with the 24 hour clock in Repositories

## [v2.3.18] - 2017-05-04

### Fixed
- Resolved issue with inaccurate published_at regarding timezones

## [v2.3.17] - 2017-05-03

### Added
- Dashboard view for admin
- Admin dashboard link

### Fixed
- Better feedback in image/file insert
- Menu and page block fixes
- Fixes for windows directories
- Language and block related fixes
- Fillable fixes

## [v2.3.16] - 2017-04-26

### Added
- Modules now can be ignored by the menu directive via config or expression

### Changed
- Allows fillables to be modified for default modules

## [v2.3.15] - 2017-04-11

### Changed
- Fillable fields for the models

## [v2.3.14] - 2017-04-10

### Changed
- Improved the structure of the setup command

## [v2.3.13] - 2017-04-09

### Fixed
- Issue when saving if template is not specified

## [v2.3.12] - 2017-04-09

### Fixed
- Issue with multilingual
- Issue with template parsing

## [v2.3.11] - 2017-04-09

### Added
- New block templating for pages

### Fixed
- Some minor doc issues

## [v2.3.10] - 2017-03-24

### Fixed
- Issue with empty value

## [v2.3.9] - 2017-03-07

### Changed
- Split a service into traits for easier management

### Fixed
- Menu loading issue

## [v2.3.8] - 2017-03-03

### Fixed
- More module template fixes

## [v2.3.7] - 2017-03-03

### Fixed
- Minor fixes for the module loader
- Fixed issue with module builder

## [v2.3.6] - 2017-03-03

### Fixed
- Issue with route vs url

## [v2.3.5] - 2017-03-03

### Fixed
- Minor issue with module crud
- Navigation issue

## [v2.3.4] - 2017-02-22

### Changed
- Minor style improvements

## [v2.3.3] - 2017-02-20

### Changed
- Minor style updates and improvements

## [v2.3.2] - 2017-02-19

### Added
- New sorting in the index pages for admin views

### Changed
- Updated the charts in the dashboard

## [v2.3.1] - 2017-02-13

### Fixed
- Fixes an issue with S3 storage

## [v2.3.0] - 2017-01-27

### Added
- New history and revert actions
- New module composer packager
- New internal analytics component

### Changed
- Laravel 5.4 compatibility

## [v2.2.12] - 2016-12-28

### Fixed
- Fixes issue with Minify breaking CDN libs

## [v2.2.11] - 2016-12-26

### Added
- New normalizer for entry content
- New image blade tags

## [v2.2.10] - 2016-12-15

### Added
- New middleware for language setting

### Changed
- Minor improvements
- Also added ability to customize dashboard

## [v2.2.9] - 2016-12-06

### Changed
- Readme updates

### Fixed
- Fixed issue with permissions and roles.

## [v2.2.8] - 2016-12-05

### Changed
- Added support for MySQL 5.6

## [v2.2.7] - 2016-12-05

### Fixed
- Incorrect text in config

## [v2.2.6] - 2016-12-05

### Added
- New db-prefix option for cabin tables
- New live preview in editor view

### Fixed
- Image loading times

## [v2.2.5] - 2016-11-17

### Fixed
- Minor fix for setup

## [v2.2.4] - 2016-11-10

### Fixed
- Minor issue with typos

## [v2.2.3] - 2016-11-09

### Fixed
- Fixed a couple issues which came from the Laracogs updates

## [v2.2.2] - 2016-11-04

### Changed
- Tweaked backend css and js

### Fixed
- Minor issue with route listing

## [v2.2.1] - 2016-10-30

### Added
- New logo and more customizations

### Changed
- Better migrations for archives and translations

### Fixed
- Minor UI flow issues

## [v2.2.0] - 2016-10-28

### Added
- Now with multilingual support

### Changed
- Internal improvements to UI and flow

### Fixed
- Better blog listing
- menu issue resolved

## [v2.1.3] - 2016-10-24

### Changed
- Updates to docs on landing page

### Fixed
- Minor issue with team leftover

## [v2.1.2] - 2016-10-21

### Added
- New tokens for API calls

### Changed
- Moved migrations to publish directory

### Fixed
- API requests with gateway

## [v2.1.1] - 2016-10-21

### Fixed
- Minor issues with quick setup

## [v2.1.0] - 2016-10-21

### Added
- New API layer for basic API requests

### Changed
- Renamed models and repositories with singular names. This requires updates to your app's PagesController etc.

### Fixed
- General improvements and fixes for simple setup

## [v2.0.1] - 2016-10-01

### Fixed
- Default to not loading modules

## [v2.0.0] - 2016-09-29

### Added
- Now supports Laravel 5.3

## [v1.4.24] - 2016-08-30

### Fixed
- Missing service provider

## [v1.4.23] - 2016-08-30

### Fixed
- More markdown issues

## [v1.4.22] - 2016-08-30

### Fixed
- Markdown issues

## [v1.4.21] - 2016-07-27

### Fixed
- Fixes some issues with the Module maker

## [v1.4.20] - 2016-07-25

### Fixed
- Fixed issues with templates and setup

## [v1.4.19] - 2016-07-11

### Changed
- General code quality improvements

## [v1.4.18] - 2016-07-09
### Fixed
- Fixes issue module providers

## [v1.4.17] - 2016-07-08
### Changed
- Set up markdown support with markdown template and blade directive

## [v1.4.16] - 2016-07-07
### Changed
- General improvements with WYSIWYG
- Code Style improvements
- Readme updates and refactoring

## [v1.4.15] - 2016-07-05
### Changed
- Merged in PR #16

## [v1.4.14] - 2016-07-04
### Added
- Images are now searchable
### Changed
- Minor cleanup

## [v1.4.13] - 2016-07-04
### Added
- New service provider support
### Changed
- Improved overall support of modules
### Fixed
- Add in missing helper methods
-  Fixed improperly named columns

## [v1.4.12] - 2016-06-23
### Fixed
- Issue with quick install and missing Quarx in composer.json

## [v1.4.11] - 2016-06-22
### Changed
- Changed models for core elements to use guarded vs fillable for expandability
### Fixed
- Fixed some unit tests

## [v1.4.10] - 2016-06-21
### Fixed
- Fixed issue with file paths #10

## [v1.4.9] - 2016-06-13
### Fixed
- Missing tests key

## [v1.4.8] - 2016-06-13
### Fixed
- Issues resulting from the schema option on the crud generator

## [v1.4.7] - 2016-06-12
### Fixed
- Fixes default template issue

## [v1.4.6] - 2016-06-05
### Changed
- Removed ID and asset encryption for faster loading times.
### Fixed
- Missing schema generator

## [v1.4.5] - 2016-06-03
### Added
- Now supports S3
### Fixed
- Issue with public gallery and published_at

## [v1.4.4] - 2016-06-01
### Added
- New publish date
- Added event tracking and rollback for custom modules
### Changed
- Better template layouts internally.

## [v1.4.3] - 2016-05-31
### Added
- Auto-publish theme assets with quick start
- Auto gulp running
### Fixed
- Issues with quick start and composer dump

## [v1.4.2] - 2016-05-31
### Added
- Simple setup for fast website making
### Changed
- Moved the dashboard layout around
- Simple setup drops some of the Laracogs additions

## [v1.4.1] - 2016-05-31
### Changed
- Fixed naming issues

## [v1.4.0] - 2016-05-31
### Changed
- Switched uuid to slugs please update your database columns accordingly (widgets & menus)
- Also improved and updated the help information

## [v1.3.6] - 2016-05-26
### Added
- New Theme files for custom modules
### Changed
- Overall improvements
- Better module publishing

## [v1.3.5] - 2016-05-20
### Changed
- Improved loading times
- Improved encryption
- Improved performance

## [v1.3.4] - 2016-05-08
### Added
- Some stuff
- more stuff
### Fixed
- method1 something

## [v1.3.3] - 2016-05-06
### Added
- New changelog for easier tracking
### Changed
- Improved cryptography utilities


================================================
FILE: composer.json
================================================
{
    "name": "grafite/cms",
    "description": "Add a CMS to any Laravel app/website to gain control of: pages, blogs, galleries, events, custom modules, images and more.",
    "license": "MIT",
    "authors": [
        {
            "name": "Matt Lantz",
            "email": "mattlantz@gmail.com"
        }
    ],
    "require": {
        "php": ">=7.1.3",
        "illuminate/support": "^5.7",
        "grafite/crudmaker": "1.4.*",
        "grafite/formmaker": "1.3.*",
        "laravelcollective/html": "^5.7",
        "devfactory/minify": "1.0.*",
        "aws/aws-sdk-php": "^3.18",
        "league/flysystem-aws-s3-v3": "^1.0",
        "graham-campbell/markdown": "^10.0",
        "intervention/image": "^2.4",
        "stichoza/google-translate-php": "^3.2",
        "donatj/phpuseragentparser": "^0.5.3"
    },
    "require-dev": {
        "mockery/mockery": "~1.0",
        "mikey179/vfsstream": "^1.6",
        "orchestra/testbench": "^3.6",
        "phpunit/phpunit": "~7.0"
    },
    "autoload": {
        "psr-4": {
            "Grafite\\Cms\\": "src/"
        },
        "files": [
          "src/Helpers/blade.php",
          "src/Helpers/general.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        },
        "classmap": [
            "tests/factories/"
        ]
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "extra": {
        "laravel": {
            "providers": [
                "Grafite\\Cms\\GrafiteCmsProvider"
            ]
        }
    }
}


================================================
FILE: package.json
================================================
{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "prod": "npm run production",
        "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
    },
    "devDependencies": {
        "axios": "^0.18",
        "bootstrap": ">=4.1.2",
        "cross-env": "^5.1",
        "jquery": "^3.2",
        "laravel-mix": "^2.1.14",
        "lodash": "^4.17.4",
        "popper.js": "^1.12",
        "vue": "^2.5.7"
    }
}


================================================
FILE: phpunit.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="vendor/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
>
    <testsuites>
        <testsuite name="Grafite CMS Tests">
            <directory>./tests/</directory>
        </testsuite>
    </testsuites>
    <php>
        <env name="APP_ENV" value="testing"/>
        <env name="APP_DEBUG" value="true"/>
        <env name="APP_KEY" value="AckfSECXIvnK5r28GVIWUAxmbBSjTsmF"/>
    </php>
</phpunit>


================================================
FILE: src/Assets/dist/css/all.css
================================================
/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  position: relative; }
  .dropzone .dz-preview {
    position: relative;
    display: inline-block;
    width: 120px;
    margin: 0.5em; }
    .dropzone .dz-preview .dz-progress {
      display: block;
      height: 15px;
      border: 1px solid #aaa; }
      .dropzone .dz-preview .dz-progress .dz-upload {
        display: block;
        height: 100%;
        width: 0;
        background: green; }
    .dropzone .dz-preview .dz-error-message {
      color: red;
      display: none; }
    .dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark {
      display: block; }
    .dropzone .dz-preview.dz-success .dz-success-mark {
      display: block; }
    .dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark {
      position: absolute;
      display: none;
      left: 30px;
      top: 30px;
      width: 54px;
      height: 58px;
      left: 50%;
      margin-left: -27px; }

/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
@-webkit-keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px); } }
@-moz-keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px); } }
@keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px); } }
@-webkit-keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); } }
@-moz-keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); } }
@keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); } }
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }
@-moz-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }
@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px; }
  .dropzone.dz-clickable {
    cursor: pointer; }
    .dropzone.dz-clickable * {
      cursor: default; }
    .dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
      cursor: pointer; }
  .dropzone.dz-started .dz-message {
    display: none; }
  .dropzone.dz-drag-hover {
    border-style: solid; }
    .dropzone.dz-drag-hover .dz-message {
      opacity: 0.5; }
  .dropzone .dz-message {
    text-align: center;
    margin: 2em 0; }
  .dropzone .dz-preview {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 16px;
    min-height: 100px; }
    .dropzone .dz-preview:hover {
      z-index: 1000; }
      .dropzone .dz-preview:hover .dz-details {
        opacity: 1; }
    .dropzone .dz-preview.dz-file-preview .dz-image {
      border-radius: 20px;
      background: #999;
      background: linear-gradient(to bottom, #eee, #ddd); }
    .dropzone .dz-preview.dz-file-preview .dz-details {
      opacity: 1; }
    .dropzone .dz-preview.dz-image-preview {
      background: white; }
      .dropzone .dz-preview.dz-image-preview .dz-details {
        -webkit-transition: opacity 0.2s linear;
        -moz-transition: opacity 0.2s linear;
        -ms-transition: opacity 0.2s linear;
        -o-transition: opacity 0.2s linear;
        transition: opacity 0.2s linear; }
    .dropzone .dz-preview .dz-remove {
      font-size: 14px;
      text-align: center;
      display: block;
      cursor: pointer;
      border: none; }
      .dropzone .dz-preview .dz-remove:hover {
        text-decoration: underline; }
    .dropzone .dz-preview:hover .dz-details {
      opacity: 1; }
    .dropzone .dz-preview .dz-details {
      z-index: 20;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      font-size: 13px;
      min-width: 100%;
      max-width: 100%;
      padding: 2em 1em;
      text-align: center;
      color: rgba(0, 0, 0, 0.9);
      line-height: 150%; }
      .dropzone .dz-preview .dz-details .dz-size {
        margin-bottom: 1em;
        font-size: 16px; }
      .dropzone .dz-preview .dz-details .dz-filename {
        white-space: nowrap; }
        .dropzone .dz-preview .dz-details .dz-filename:hover span {
          border: 1px solid rgba(200, 200, 200, 0.8);
          background-color: rgba(255, 255, 255, 0.8); }
        .dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
          overflow: hidden;
          text-overflow: ellipsis; }
          .dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
            border: 1px solid transparent; }
      .dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
        background-color: rgba(255, 255, 255, 0.4);
        padding: 0 0.4em;
        border-radius: 3px; }
    .dropzone .dz-preview:hover .dz-image img {
      -webkit-transform: scale(1.05, 1.05);
      -moz-transform: scale(1.05, 1.05);
      -ms-transform: scale(1.05, 1.05);
      -o-transform: scale(1.05, 1.05);
      transform: scale(1.05, 1.05);
      -webkit-filter: blur(8px);
      filter: blur(8px); }
    .dropzone .dz-preview .dz-image {
      border-radius: 20px;
      overflow: hidden;
      width: 120px;
      height: 120px;
      position: relative;
      display: block;
      z-index: 10; }
      .dropzone .dz-preview .dz-image img {
        display: block; }
    .dropzone .dz-preview.dz-success .dz-success-mark {
      -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview.dz-error .dz-error-mark {
      opacity: 1;
      -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
      pointer-events: none;
      opacity: 0;
      z-index: 500;
      position: absolute;
      display: block;
      top: 50%;
      left: 50%;
      margin-left: -27px;
      margin-top: -27px; }
      .dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
        display: block;
        width: 54px;
        height: 54px; }
    .dropzone .dz-preview.dz-processing .dz-progress {
      opacity: 1;
      -webkit-transition: all 0.2s linear;
      -moz-transition: all 0.2s linear;
      -ms-transition: all 0.2s linear;
      -o-transition: all 0.2s linear;
      transition: all 0.2s linear; }
    .dropzone .dz-preview.dz-complete .dz-progress {
      opacity: 0;
      -webkit-transition: opacity 0.4s ease-in;
      -moz-transition: opacity 0.4s ease-in;
      -ms-transition: opacity 0.4s ease-in;
      -o-transition: opacity 0.4s ease-in;
      transition: opacity 0.4s ease-in; }
    .dropzone .dz-preview:not(.dz-processing) .dz-progress {
      -webkit-animation: pulse 6s ease infinite;
      -moz-animation: pulse 6s ease infinite;
      -ms-animation: pulse 6s ease infinite;
      -o-animation: pulse 6s ease infinite;
      animation: pulse 6s ease infinite; }
    .dropzone .dz-preview .dz-progress {
      opacity: 1;
      z-index: 1000;
      pointer-events: none;
      position: absolute;
      height: 16px;
      left: 50%;
      top: 50%;
      margin-top: -8px;
      width: 80px;
      margin-left: -40px;
      background: rgba(255, 255, 255, 0.9);
      -webkit-transform: scale(1);
      border-radius: 8px;
      overflow: hidden; }
      .dropzone .dz-preview .dz-progress .dz-upload {
        background: #333;
        background: linear-gradient(to bottom, #666, #444);
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 0;
        -webkit-transition: width 300ms ease-in-out;
        -moz-transition: width 300ms ease-in-out;
        -ms-transition: width 300ms ease-in-out;
        -o-transition: width 300ms ease-in-out;
        transition: width 300ms ease-in-out; }
    .dropzone .dz-preview.dz-error .dz-error-message {
      display: block; }
    .dropzone .dz-preview.dz-error:hover .dz-error-message {
      opacity: 1;
      pointer-events: auto; }
    .dropzone .dz-preview .dz-error-message {
      pointer-events: none;
      z-index: 1000;
      position: absolute;
      display: block;
      display: none;
      opacity: 0;
      -webkit-transition: opacity 0.3s ease;
      -moz-transition: opacity 0.3s ease;
      -ms-transition: opacity 0.3s ease;
      -o-transition: opacity 0.3s ease;
      transition: opacity 0.3s ease;
      border-radius: 8px;
      font-size: 13px;
      top: 130px;
      left: -10px;
      width: 140px;
      background: #be2626;
      background: linear-gradient(to bottom, #be2626, #a92222);
      padding: 0.5em 1.2em;
      color: white; }
      .dropzone .dz-preview .dz-error-message:after {
        content: '';
        position: absolute;
        top: -6px;
        left: 64px;
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 6px solid #be2626; }

/*
	Icon font
*/
@font-face {
  font-family: 'RedactorFont';
  src: url('redactor-font.eot');
}
@font-face {
  font-family: 'RedactorFont';
  src: url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,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) format('woff');
  font-weight: normal;
  font-style: normal;
}
/*
	Box
*/
.redactor-box {
  position: relative;
  overflow: visible;
  margin-bottom: 24px;
}
.redactor-box textarea {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  overflow: auto;
  outline: none;
  border: none;
  background-color: #111;
  box-shadow: none;
  color: #ccc;
  font-size: 13px;
  font-family: Menlo, Monaco, monospace, sans-serif;
  resize: none;
}
.redactor-box textarea:focus {
  outline: none;
}
.redactor-editor,
.redactor-box {
  background: #fff;
}
/*
	Z-index setup
*/
.redactor-editor,
.redactor-box,
.redactor-box textarea {
  z-index: auto;
}
.redactor-box-fullscreen {
  z-index: 1051;
}
.redactor-toolbar {
  z-index: 100;
}
.redactor-dropdown {
  z-index: 1052;
}
#redactor-modal-overlay,
#redactor-modal-box,
#redactor-modal {
  z-index: 1053;
}
/*
	Resize
*/
.redactor-resize {
  background: #f4f4f4;
  padding: 4px 0 3px 0;
  cursor: move;
  border: 1px solid #e3e3e3;
  border-top: none;
}
.redactor-resize div {
  width: 30px;
  margin: auto;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #fff;
}
/*
	Fullscreen
*/
body .redactor-box-fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}
/*
	Utils
*/
.body-redactor-hidden {
  overflow: hidden;
}
/*
	Editor
*/
.redactor-editor {
  position: relative;
  overflow: auto;
  margin: 0 !important;
  padding: 20px;
  outline: none;
  white-space: normal;
  border: 1px solid #eee;
  font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 14px;
  line-height: 1.6em;
}
.redactor-editor:focus {
  outline: none;
}
.toolbar-fixed-box + .redactor-editor {
  padding-top: 32px !important;
}
/*
	Placeholder
*/
.redactor-placeholder {
  position: relative;
}
.redactor-placeholder:after {
  position: absolute;
  top: 20px;
  left: 20px;
  content: attr(placeholder);
  color: #999 !important;
  font-weight: normal !important;
}
/* Placeholder in linebreaks mode */
.redactor-linebreaks.redactor-placeholder:after {
  top: 20px;
  left: 20px;
}
/*
	Toolbar
*/
.redactor-toolbar {
  position: relative;
  top: 0;
  left: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  font-size: 14px !important;
  line-height: 1 !important;
  background: #fff;
  border: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.redactor-toolbar:after {
  content: "";
  display: table;
  clear: both;
}
.redactor-toolbar.redactor-toolbar-overflow {
  overflow-y: auto;
  height: 29px;
  white-space: nowrap;
}
.redactor-toolbar.redactor-toolbar-external {
  z-index: 999;
  box-shadow: none;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.redactor-toolbar li {
  vertical-align: top;
  display: inline-block;
  margin: 0 !important;
  padding: 0 !important;
  outline: none;
  list-style: none !important;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.redactor-toolbar li a {
  display: block;
  color: #333;
  text-align: center;
  padding: 9px 10px;
  outline: none;
  border: none;
  text-decoration: none;
  cursor: pointer;
  zoom: 1;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
.redactor-toolbar li a:hover {
  outline: none;
  background-color: #1f78d8;
  color: #fff;
}
.redactor-toolbar li a:hover i:before {
  color: #fff;
}
.redactor-toolbar li a:active,
.redactor-toolbar li a.redactor-act {
  outline: none;
  background-color: #ccc;
  color: #444;
}
.redactor-toolbar li a.redactor-btn-image {
  width: 14px;
  height: 14px;
  background-position: center center;
  background-repeat: no-repeat;
}
.redactor-toolbar li a.fa-redactor-btn {
  display: inline-block;
  padding: 9px 10px 8px 10px;
  line-height: 1;
}
.redactor-toolbar li a.redactor-button-disabled {
  filter: alpha(opacity=30);
  -moz-opacity: 0.3;
  opacity: 0.3;
}
.redactor-toolbar li a.redactor-button-disabled:hover {
  color: #333;
  outline: none;
  background-color: transparent !important;
  cursor: default;
}
/*
	Icons
*/
.re-icon {
  font-family: 'RedactorFont';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.re-icon i:before {
  position: relative;
  font-size: 14px;
}
.re-video:before {
  content: "\e600";
}
.re-unorderedlist:before {
  content: "\e601";
}
.re-undo:before {
  content: "\e602";
}
.re-underline:before {
  content: "\e603";
}
.re-textdirection:before {
  content: "\e604";
}
.re-fontcolor:before {
  content: "\e605";
}
.re-table:before {
  content: "\e606";
}
.re-redo:before {
  content: "\e607";
}
.re-quote:before {
  content: "\e608";
}
.re-outdent:before {
  content: "\e609";
}
.re-orderedlist:before {
  content: "\e60a";
}
.re-link:before {
  content: "\e60b";
}
.re-horizontalrule:before {
  content: "\e60c";
}
.re-italic:before {
  content: "\e60d";
}
.re-indent:before {
  content: "\e60e";
}
.re-image:before {
  content: "\e60f";
}
.re-fullscreen:before {
  content: "\e610";
}
.re-normalscreen:before {
  content: "\e611";
}
.re-formatting:before {
  content: "\e612";
}
.re-fontsize:before {
  content: "\e613";
}
.re-fontfamily:before {
  content: "\e614";
}
.re-deleted:before {
  content: "\e615";
}
.re-html:before {
  content: "\e616";
}
.re-clips:before {
  content: "\e617";
}
.re-bold:before {
  content: "\e618";
}
.re-backcolor:before {
  content: "\e619";
}
.re-file:before {
  content: "\e61a";
}
.re-alignright:before {
  content: "\e61b";
}
.re-alignment:before,
.re-alignleft:before {
  content: "\e61c";
}
.re-alignjustify:before {
  content: "\e61d";
}
.re-aligncenter:before {
  content: "\e61e";
}
.re-gallery:before {
  content: "\e61f";
}
/*
	Toolbar tooltip
*/
.redactor-toolbar-tooltip {
  position: absolute;
  z-index: 1054;
  text-align: center;
  top: 0;
  left: 0;
  background: #000;
  color: #fff;
  padding: 5px 8px;
  line-height: 1;
  font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 12px;
  border-radius: 2px;
}
/*
	Dropdown
*/
.redactor-dropdown {
  position: absolute;
  top: 28px;
  left: 0;
  padding: 0;
  min-width: 220px;
  max-height: 254px;
  overflow: auto;
  background-color: #fff;
  box-shadow: 0 1px 7px rgba(0, 0, 0, 0.25);
  font-size: 14px;
  font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
  line-height: 1.6em;
}
.redactor-dropdown a {
  display: block;
  padding: 10px 15px;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.redactor-dropdown a:last-child {
  border-bottom: none;
}
.redactor-dropdown a:hover {
  background-color: #1f78d8;
  color: #fff !important;
  text-decoration: none;
}
/*
	IMAGE BOX
*/
#redactor-image-box {
  position: relative;
  max-width: 100%;
  display: inline-block;
  line-height: 0;
  outline: 1px dashed rgba(0, 0, 0, 0.6);
}
#redactor-image-editter {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  margin-top: -11px;
  margin-left: -18px;
  line-height: 1;
  background-color: #000;
  color: #fff;
  font-size: 11px;
  padding: 7px 10px;
  cursor: pointer;
}
#redactor-image-resizer {
  position: absolute;
  z-index: 2;
  line-height: 1;
  cursor: nw-resize;
  bottom: -4px;
  right: -5px;
  border: 1px solid #fff;
  background-color: #000;
  width: 8px;
  height: 8px;
}
/*
	LINK TOOLTIP
*/
.redactor-link-tooltip {
  position: absolute;
  z-index: 49999;
  padding: 10px;
  line-height: 1;
  display: inline-block;
  background-color: #000;
  color: #555 !important;
}
.redactor-link-tooltip,
.redactor-link-tooltip a {
  font-size: 12px;
  font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
}
.redactor-link-tooltip a {
  color: #ccc;
  margin: 0 5px;
  text-decoration: none;
}
.redactor-link-tooltip a:hover {
  color: #fff;
}
/*
	DROPAREA
*/
#redactor-droparea {
  position: relative;
  overflow: hidden;
  padding: 140px 20px;
  border: 3px dashed rgba(0, 0, 0, 0.1);
}
#redactor-droparea.drag-hover {
  background: rgba(200, 222, 250, 0.75);
}
#redactor-droparea.drag-drop {
  background: rgba(250, 248, 200, 0.5);
}
#redactor-droparea-placeholder {
  text-align: center;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.7);
}
/*
	PROGRESS
*/
#redactor-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000000;
  height: 10px;
}
#redactor-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #3d58a8;
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
  background-size: 40px 40px;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-o-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
/*
	MODAL
*/
#redactor-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  margin: auto;
  overflow: auto;
  width: 100%;
  height: 100%;
  background-color: #000 !important;
  filter: alpha(opacity=30);
  -moz-opacity: 0.3;
  opacity: 0.3;
}
#redactor-modal-box {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow-x: hidden;
  overflow-y: auto;
}
#redactor-modal {
  position: relative;
  margin: auto;
  margin-bottom: 20px;
  padding: 0;
  background: #fff;
  color: #000;
  font-size: 14px !important;
  font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
  box-shadow: 0 1px 70px rgba(0, 0, 0, 0.5);
}
#redactor-modal header {
  padding: 30px 40px 5px 40px;
  font-size: 18px;
  font-weight: bold;
}
#redactor-modal section {
  padding: 30px 40px 50px 40px;
}
#redactor-modal label {
  display: block;
  float: none !important;
  margin: 15px 0 3px 0 !important;
  padding: 0;
}
#redactor-modal input[type="radio"],
#redactor-modal input[type="checkbox"] {
  position: relative;
  top: -1px;
}
#redactor-modal select {
  width: 100%;
}
#redactor-modal input[type="text"],
#redactor-modal input[type="password"],
#redactor-modal input[type="email"],
#redactor-modal input[type="url"],
#redactor-modal textarea {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 5px 4px;
  height: 28px;
  border: 1px solid #ccc;
  border-radius: 1px;
  background-color: white;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset;
  color: #333;
  width: 100%;
  font-size: 14px;
  font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
  -moz-transition: border 0.3s ease-in;
  transition: border 0.3s ease-in;
}
#redactor-modal input[type="text"]:focus,
#redactor-modal input[type="password"]:focus,
#redactor-modal input[type="email"]:focus,
#redactor-modal input[type="url"]:focus,
#redactor-modal textarea:focus {
  outline: none;
  border-color: #5ca9e4;
  box-shadow: 0 0 0 2px rgba(70, 161, 231, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}
#redactor-modal input[type="text"].redactor-input-error,
#redactor-modal input[type="password"].redactor-input-error,
#redactor-modal input[type="email"].redactor-input-error,
#redactor-modal input[type="url"].redactor-input-error,
#redactor-modal textarea.redactor-input-error {
  border-color: #e82f2f;
  box-shadow: 0 0 0 2px rgba(232, 47, 47, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset;
}
#redactor-modal textarea {
  display: block;
  margin-top: 4px;
  line-height: 1.4em;
}
/*
	Tabs in Modal
*/
#redactor-modal-tabber {
  margin-bottom: 15px;
  font-size: 12px;
}
#redactor-modal-tabber a {
  border: 1px solid #ddd;
  line-height: 1;
  padding: 8px 15px;
  margin-right: -1px;
  text-decoration: none;
  color: #000;
}
#redactor-modal-tabber a:hover {
  background-color: #1f78d8;
  border-color: #1f78d8;
  color: #fff;
}
#redactor-modal-tabber a.active {
  cursor: default;
  background-color: #ddd;
  border-color: #ddd;
  color: rgba(0, 0, 0, 0.6);
}
/*
	List in Modal
*/
#redactor-modal #redactor-modal-list {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
  max-height: 250px;
  overflow-x: auto;
}
#redactor-modal #redactor-modal-list li {
  border-bottom: 1px solid #ddd;
}
#redactor-modal #redactor-modal-list li:last-child {
  border-bottom: none;
}
#redactor-modal #redactor-modal-list a {
  padding: 10px 5px;
  color: #000;
  text-decoration: none;
  font-size: 13px;
  display: block;
  position: relative;
}
#redactor-modal #redactor-modal-list a:hover {
  background-color: #eee;
}
#redactor-modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
  text-align: right;
  color: #bbb;
  font-size: 30px;
  font-weight: 300;
  cursor: pointer;
}
#redactor-modal-close:hover {
  color: #000;
}
#redactor-modal footer button {
  position: relative;
  width: 100%;
  padding: 14px 16px;
  margin: 0;
  outline: none;
  border: none;
  background-color: #ddd;
  color: #000;
  text-align: center;
  text-decoration: none;
  font-weight: normal;
  font-size: 12px;
  font-family: Arial, Helvetica, Verdana, Tahoma, sans-serif;
  line-height: 1;
  cursor: pointer;
}
#redactor-modal footer button:hover {
  color: #777;
  background: none;
  background: #bbb;
  text-decoration: none;
}
#redactor-modal footer button.redactor-modal-delete-btn {
  background: none;
  color: #fff;
  background-color: #b52525;
}
#redactor-modal footer button.redactor-modal-delete-btn:hover {
  color: rgba(255, 255, 255, 0.6);
  background-color: #881b1b;
}
#redactor-modal footer button.redactor-modal-action-btn {
  background: none;
  color: #fff;
  background-color: #2461b5;
}
#redactor-modal footer button.redactor-modal-action-btn:hover {
  color: rgba(255, 255, 255, 0.6);
  background-color: #1a4580;
}
/*
	##############################################

	DROPDOWN FORMATTING

	##############################################
*/
.redactor-dropdown .redactor-formatting-blockquote {
  color: rgba(0, 0, 0, 0.4);
  font-style: italic;
}
.redactor-dropdown .redactor-formatting-pre {
  font-family: monospace, sans-serif;
}
.redactor-dropdown .redactor-formatting-h1 {
  font-size: 36px;
  line-height: 36px;
  font-weight: bold;
}
.redactor-dropdown .redactor-formatting-h2 {
  font-size: 24px;
  line-height: 36px;
  font-weight: bold;
}
.redactor-dropdown .redactor-formatting-h3 {
  font-size: 21px;
  line-height: 30px;
  font-weight: bold;
}
.redactor-dropdown .redactor-formatting-h4 {
  font-size: 18px;
  line-height: 26px;
  font-weight: bold;
}
.redactor-dropdown .redactor-formatting-h5 {
  font-size: 16px;
  line-height: 23px;
  font-weight: bold;
}
/*
	##############################################

	 CONTENT STYLES

	##############################################
*/
.redactor-editor code,
.redactor-editor pre {
  font-family: Menlo, Monaco, monospace, sans-serif;
}
.redactor-editor div,
.redactor-editor p,
.redactor-editor ul,
.redactor-editor ol,
.redactor-editor table,
.redactor-editor dl,
.redactor-editor blockquote,
.redactor-editor pre {
  font-size: 14px;
  line-height: 1.6em;
}
.redactor-editor a {
  color: #15c;
  text-decoration: underline;
}
.redactor-editor object,
.redactor-editor embed,
.redactor-editor video,
.redactor-editor img {
  max-width: 100%;
  width: auto;
}
.redactor-editor video,
.redactor-editor img {
  height: auto;
}
.redactor-editor div,
.redactor-editor p,
.redactor-editor ul,
.redactor-editor ol,
.redactor-editor table,
.redactor-editor dl,
.redactor-editor figure,
.redactor-editor blockquote,
.redactor-editor pre {
  margin: 0;
  margin-bottom: 15px;
  border: none;
  background: none;
  box-shadow: none;
}
.redactor-editor iframe,
.redactor-editor object,
.redactor-editor hr {
  margin-bottom: 15px;
}
.redactor-editor blockquote {
  margin-left: 1.6em !important;
  padding-left: 0;
  color: #777;
  font-style: italic;
}
.redactor-editor ul,
.redactor-editor ol {
  padding-left: 2em;
}
.redactor-editor ul ul,
.redactor-editor ol ol,
.redactor-editor ul ol,
.redactor-editor ol ul {
  margin: 2px;
  padding: 0;
  padding-left: 2em;
  border: none;
}
.redactor-editor dl dt {
  font-weight: bold;
}
.redactor-editor dd {
  margin-left: 1em;
}
.redactor-editor table {
  border-collapse: collapse;
  font-size: 1em;
  width: 100%;
}
.redactor-editor table td,
.redactor-editor table th {
  padding: 5px;
  border: 1px solid #ddd;
  vertical-align: top;
}
.redactor-editor table thead td,
.redactor-editor table th {
  font-weight: bold;
  border-bottom-color: #888;
}
.redactor-editor code {
  background-color: #d8d7d7;
}
.redactor-editor pre {
  overflow: auto;
  padding: 1em;
  border: 1px solid #ddd;
  border-radius: 3px;
  background: #f8f8f8;
  white-space: pre;
  font-size: 90%;
}
.redactor-editor hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
}
.redactor-editor h1,
.redactor-editor h2,
.redactor-editor h3,
.redactor-editor h4,
.redactor-editor h5,
.redactor-editor h6 {
  font-weight: bold;
  color: #000;
  padding: 0;
  background: none;
  text-rendering: optimizeLegibility;
  margin: 0 0 .5em 0;
}
.redactor-editor h1,
.redactor-editor h2,
.redactor-editor h3,
.redactor-editor h4 {
  line-height: 1.3;
}
.redactor-editor h1 {
  font-size: 36px;
}
.redactor-editor h2 {
  font-size: 24px;
  margin-bottom: .7em;
}
.redactor-editor h3 {
  font-size: 21px;
}
.redactor-editor h4 {
  font-size: 18px;
}
.redactor-editor h5 {
  font-size: 16px;
}
.redactor-editor h6 {
  font-size: 12px;
  text-transform: uppercase;
}
.re-btn-icon {
  width: 45px;
}
.re-icon-list {
  overflow-y: scroll;
  max-height: 200px;
}

/*!
 * Datetimepicker for Bootstrap 3
 * version : 4.17.47
 * https://github.com/Eonasdan/bootstrap-datetimepicker/
 */
.bootstrap-datetimepicker-widget {
  list-style: none;
}
.bootstrap-datetimepicker-widget.dropdown-menu {
  display: block;
  margin: 2px 0;
  padding: 4px;
  width: 19em;
}
@media (min-width: 768px) {
  .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
    width: 38em;
  }
}
@media (min-width: 992px) {
  .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
    width: 38em;
  }
}
@media (min-width: 1200px) {
  .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
    width: 38em;
  }
}
.bootstrap-datetimepicker-widget.dropdown-menu:before,
.bootstrap-datetimepicker-widget.dropdown-menu:after {
  content: '';
  display: inline-block;
  position: absolute;
}
.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  top: -7px;
  left: 7px;
}
.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid white;
  top: -6px;
  left: 8px;
}
.bootstrap-datetimepicker-widget.dropdown-menu.top:before {
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #ccc;
  border-top-color: rgba(0, 0, 0, 0.2);
  bottom: -7px;
  left: 6px;
}
.bootstrap-datetimepicker-widget.dropdown-menu.top:after {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid white;
  bottom: -6px;
  left: 7px;
}
.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {
  left: auto;
  right: 6px;
}
.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after {
  left: auto;
  right: 7px;
}
.bootstrap-datetimepicker-widget .list-unstyled {
  margin: 0;
}
.bootstrap-datetimepicker-widget a[data-action] {
  padding: 6px 0;
}
.bootstrap-datetimepicker-widget a[data-action]:active {
  box-shadow: none;
}
.bootstrap-datetimepicker-widget .timepicker-hour,
.bootstrap-datetimepicker-widget .timepicker-minute,
.bootstrap-datetimepicker-widget .timepicker-second {
  width: 54px;
  font-weight: bold;
  font-size: 1.2em;
  margin: 0;
}
.bootstrap-datetimepicker-widget button[data-action] {
  padding: 6px;
}
.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Increment Hours";
}
.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Increment Minutes";
}
.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Decrement Hours";
}
.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Decrement Minutes";
}
.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Show Hours";
}
.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Show Minutes";
}
.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Toggle AM/PM";
}
.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Clear the picker";
}
.bootstrap-datetimepicker-widget .btn[data-action="today"]::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Set the date to today";
}
.bootstrap-datetimepicker-widget .picker-switch {
  text-align: center;
}
.bootstrap-datetimepicker-widget .picker-switch::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Toggle Date and Time Screens";
}
.bootstrap-datetimepicker-widget .picker-switch td {
  padding: 0;
  margin: 0;
  height: auto;
  width: auto;
  line-height: inherit;
}
.bootstrap-datetimepicker-widget .picker-switch td span {
  line-height: 2.5;
  height: 2.5em;
  width: 100%;
}
.bootstrap-datetimepicker-widget table {
  width: 100%;
  margin: 0;
}
.bootstrap-datetimepicker-widget table td,
.bootstrap-datetimepicker-widget table th {
  text-align: center;
  border-radius: 4px;
}
.bootstrap-datetimepicker-widget table th {
  height: 20px;
  line-height: 20px;
  width: 20px;
}
.bootstrap-datetimepicker-widget table th.picker-switch {
  width: 145px;
}
.bootstrap-datetimepicker-widget table th.disabled,
.bootstrap-datetimepicker-widget table th.disabled:hover {
  background: none;
  color: #777777;
  cursor: not-allowed;
}
.bootstrap-datetimepicker-widget table th.prev::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Previous Month";
}
.bootstrap-datetimepicker-widget table th.next::after {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  content: "Next Month";
}
.bootstrap-datetimepicker-widget table thead tr:first-child th {
  cursor: pointer;
}
.bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
  background: #eeeeee;
}
.bootstrap-datetimepicker-widget table td {
  height: 54px;
  line-height: 54px;
  width: 54px;
}
.bootstrap-datetimepicker-widget table td.cw {
  font-size: .8em;
  height: 20px;
  line-height: 20px;
  color: #777777;
}
.bootstrap-datetimepicker-widget table td.day {
  height: 20px;
  line-height: 20px;
  width: 20px;
}
.bootstrap-datetimepicker-widget table td.day:hover,
.bootstrap-datetimepicker-widget table td.hour:hover,
.bootstrap-datetimepicker-widget table td.minute:hover,
.bootstrap-datetimepicker-widget table td.second:hover {
  background: #eeeeee;
  cursor: pointer;
}
.bootstrap-datetimepicker-widget table td.old,
.bootstrap-datetimepicker-widget table td.new {
  color: #777777;
}
.bootstrap-datetimepicker-widget table td.today {
  position: relative;
}
.bootstrap-datetimepicker-widget table td.today:before {
  content: '';
  display: inline-block;
  border: solid transparent;
  border-width: 0 0 7px 7px;
  border-bottom-color: #337ab7;
  border-top-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  bottom: 4px;
  right: 4px;
}
.bootstrap-datetimepicker-widget table td.active,
.bootstrap-datetimepicker-widget table td.active:hover {
  background-color: #337ab7;
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.bootstrap-datetimepicker-widget table td.active.today:before {
  border-bottom-color: #fff;
}
.bootstrap-datetimepicker-widget table td.disabled,
.bootstrap-datetimepicker-widget table td.disabled:hover {
  background: none;
  color: #777777;
  cursor: not-allowed;
}
.bootstrap-datetimepicker-widget table td span {
  display: inline-block;
  width: 54px;
  height: 54px;
  line-height: 54px;
  margin: 2px 1.5px;
  cursor: pointer;
  border-radius: 4px;
}
.bootstrap-datetimepicker-widget table td span:hover {
  background: #eeeeee;
}
.bootstrap-datetimepicker-widget table td span.active {
  background-color: #337ab7;
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.bootstrap-datetimepicker-widget table td span.old {
  color: #777777;
}
.bootstrap-datetimepicker-widget table td span.disabled,
.bootstrap-datetimepicker-widget table td span.disabled:hover {
  background: none;
  color: #777777;
  cursor: not-allowed;
}
.bootstrap-datetimepicker-widget.usetwentyfour td.hour {
  height: 27px;
  line-height: 27px;
}
.bootstrap-datetimepicker-widget.wider {
  width: 21em;
}
.bootstrap-datetimepicker-widget .datepicker-decades .decade {
  line-height: 1.8em !important;
}
.input-group.date .input-group-addon {
  cursor: pointer;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
/**
 * rawCSS
 *
 * A simple CSS structure document
 *
 * @package     rawCSS
 * @author      Matt Lantz
 * @copyright   Copyright (c) 2014 Matt Lantz
 * @license     http://ottacon.co/rawcss/license.html
 * @link        http://ottacon.co/rawcss
 * @since       Version 1.0
 *
 */
.raw-color-000000{color:#000000;}.raw-color-080808{color:#080808;}.raw-color-101010{color:#101010;}.raw-color-181818{color:#181818;}.raw-color-202020{color:#202020;}.raw-color-282828{color:#282828;}.raw-color-303030{color:#303030;}.raw-color-383838{color:#383838;}.raw-color-404040{color:#404040;}.raw-color-484848{color:#484848;}.raw-color-505050{color:#505050;}.raw-color-585858{color:#585858;}.raw-color-606060{color:#606060;}.raw-color-686868{color:#686868;}.raw-color-707070{color:#707070;}.raw-color-787878{color:#787878;}.raw-color-808080{color:#808080;}.raw-color-888888{color:#888888;}.raw-color-909090{color:#909090;}.raw-color-989898{color:#989898;}.raw-color-A0A0A0{color:#A0A0A0;}.raw-color-A8A8A8{color:#A8A8A8;}.raw-color-B0B0B0{color:#B0B0B0;}.raw-color-B8B8B8{color:#B8B8B8;}.raw-color-C0C0C0{color:#C0C0C0;}.raw-color-C8C8C8{color:#C8C8C8;}.raw-color-D0D0D0{color:#D0D0D0;}.raw-color-D8D8D8{color:#D8D8D8;}.raw-color-E0E0E0{color:#E0E0E0;}.raw-color-E8E8E8{color:#E8E8E8;}.raw-color-F0F0F0{color:#F0F0F0;}.raw-color-F8F8F8{color:#F8F8F8;}.raw-color-FFFFFF{color:#FFFFFF;}.raw-bg-000000{background-color:#000000;}.raw-bg-080808{background-color:#080808;}.raw-bg-101010{background-color:#101010;}.raw-bg-181818{background-color:#181818;}.raw-bg-202020{background-color:#202020;}.raw-bg-282828{background-color:#282828;}.raw-bg-303030{background-color:#303030;}.raw-bg-383838{background-color:#383838;}.raw-bg-404040{background-color:#404040;}.raw-bg-484848{background-color:#484848;}.raw-bg-505050{background-color:#505050;}.raw-bg-585858{background-color:#585858;}.raw-bg-606060{background-color:#606060;}.raw-bg-686868{background-color:#686868;}.raw-bg-707070{background-color:#707070;}.raw-bg-787878{background-color:#787878;}.raw-bg-808080{background-color:#808080;}.raw-bg-888888{background-color:#888888;}.raw-bg-909090{background-color:#909090;}.raw-bg-989898{background-color:#989898;}.raw-bg-A0A0A0{background-color:#A0A0A0;}.raw-bg-A8A8A8{background-color:#A8A8A8;}.raw-bg-B0B0B0{background-color:#B0B0B0;}.raw-bg-B8B8B8{background-color:#B8B8B8;}.raw-bg-C0C0C0{background-color:#C0C0C0;}.raw-bg-C8C8C8{background-color:#C8C8C8;}.raw-bg-D0D0D0{background-color:#D0D0D0;}.raw-bg-D8D8D8{background-color:#D8D8D8;}.raw-bg-E0E0E0{background-color:#E0E0E0;}.raw-bg-E8E8E8{background-color:#E8E8E8;}.raw-bg-F0F0F0{background-color:#F0F0F0;}.raw-bg-F8F8F8{background-color:#F8F8F8;}.raw-bg-FFFFFF{background-color:#FFFFFF;}.raw-bg-000000{background:#000000;}.raw-bg-000033{background:#000033;}.raw-bg-000066{background:#000066;}.raw-bg-000099{background:#000099;}.raw-bg-0000CC{background:#0000CC;}.raw-bg-0000FF{background:#0000FF;}.raw-bg-003300{background:#003300;}.raw-bg-003333{background:#003333;}.raw-bg-003366{background:#003366;}.raw-bg-003399{background:#003399;}.raw-bg-0033CC{background:#0033CC;}.raw-bg-0033FF{background:#0033FF;}.raw-bg-006600{background:#006600;}.raw-bg-006633{background:#006633;}.raw-bg-006666{background:#006666;}.raw-bg-006699{background:#006699;}.raw-bg-0066CC{background:#0066CC;}.raw-bg-0066FF{background:#0066FF;}.raw-bg-009900{background:#009900;}.raw-bg-009933{background:#009933;}.raw-bg-009966{background:#009966;}.raw-bg-009999{background:#009999;}.raw-bg-0099CC{background:#0099CC;}.raw-bg-0099FF{background:#0099FF;}.raw-bg-00CC00{background:#00CC00;}.raw-bg-00CC33{background:#00CC33;}.raw-bg-00CC66{background:#00CC66;}.raw-bg-00CC99{background:#00CC99;}.raw-bg-00CCCC{background:#00CCCC;}.raw-bg-00CCFF{background:#00CCFF;}.raw-bg-00FF00{background:#00FF00;}.raw-bg-00FF33{background:#00FF33;}.raw-bg-00FF66{background:#00FF66;}.raw-bg-00FF99{background:#00FF99;}.raw-bg-00FFCC{background:#00FFCC;}.raw-bg-00FFFF{background:#00FFFF;}.raw-bg-330000{background:#330000;}.raw-bg-330033{background:#330033;}.raw-bg-330066{background:#330066;}.raw-bg-330099{background:#330099;}.raw-bg-3300CC{background:#3300CC;}.raw-bg-3300FF{background:#3300FF;}.raw-bg-333300{background:#333300;}.raw-bg-333333{background:#333333;}.raw-bg-333366{background:#333366;}.raw-bg-333399{background:#333399;}.raw-bg-3333CC{background:#3333CC;}.raw-bg-3333FF{background:#3333FF;}.raw-bg-336600{background:#336600;}.raw-bg-336633{background:#336633;}.raw-bg-336666{background:#336666;}.raw-bg-336699{background:#336699;}.raw-bg-3366CC{background:#3366CC;}.raw-bg-3366FF{background:#3366FF;}.raw-bg-339900{background:#339900;}.raw-bg-339933{background:#339933;}.raw-bg-339966{background:#339966;}.raw-bg-339999{background:#339999;}.raw-bg-3399CC{background:#3399CC;}.raw-bg-3399FF{background:#3399FF;}.raw-bg-33CC00{background:#33CC00;}.raw-bg-33CC33{background:#33CC33;}.raw-bg-33CC66{background:#33CC66;}.raw-bg-33CC99{background:#33CC99;}.raw-bg-33CCCC{background:#33CCCC;}.raw-bg-33CCFF{background:#33CCFF;}.raw-bg-33FF00{background:#33FF00;}.raw-bg-33FF33{background:#33FF33;}.raw-bg-33FF66{background:#33FF66;}.raw-bg-33FF99{background:#33FF99;}.raw-bg-33FFCC{background:#33FFCC;}.raw-bg-33FFFF{background:#33FFFF;}.raw-bg-660000{background:#660000;}.raw-bg-660033{background:#660033;}.raw-bg-660066{background:#660066;}.raw-bg-660099{background:#660099;}.raw-bg-6600CC{background:#6600CC;}.raw-bg-6600FF{background:#6600FF;}.raw-bg-663300{background:#663300;}.raw-bg-663333{background:#663333;}.raw-bg-663366{background:#663366;}.raw-bg-663399{background:#663399;}.raw-bg-6633CC{background:#6633CC;}.raw-bg-6633FF{background:#6633FF;}.raw-bg-666600{background:#666600;}.raw-bg-666633{background:#666633;}.raw-bg-666666{background:#666666;}.raw-bg-666699{background:#666699;}.raw-bg-6666CC{background:#6666CC;}.raw-bg-6666FF{background:#6666FF;}.raw-bg-669900{background:#669900;}.raw-bg-669933{background:#669933;}.raw-bg-669966{background:#669966;}.raw-bg-669999{background:#669999;}.raw-bg-6699CC{background:#6699CC;}.raw-bg-6699FF{background:#6699FF;}.raw-bg-66CC00{background:#66CC00;}.raw-bg-66CC33{background:#66CC33;}.raw-bg-66CC66{background:#66CC66;}.raw-bg-66CC99{background:#66CC99;}.raw-bg-66CCCC{background:#66CCCC;}.raw-bg-66CCFF{background:#66CCFF;}.raw-bg-66FF00{background:#66FF00;}.raw-bg-66FF33{background:#66FF33;}.raw-bg-66FF66{background:#66FF66;}.raw-bg-66FF99{background:#66FF99;}.raw-bg-66FFCC{background:#66FFCC;}.raw-bg-66FFFF{background:#66FFFF;}.raw-bg-990000{background:#990000;}.raw-bg-990033{background:#990033;}.raw-bg-990066{background:#990066;}.raw-bg-990099{background:#990099;}.raw-bg-9900CC{background:#9900CC;}.raw-bg-9900FF{background:#9900FF;}.raw-bg-993300{background:#993300;}.raw-bg-993333{background:#993333;}.raw-bg-993366{background:#993366;}.raw-bg-993399{background:#993399;}.raw-bg-9933CC{background:#9933CC;}.raw-bg-9933FF{background:#9933FF;}.raw-bg-996600{background:#996600;}.raw-bg-996633{background:#996633;}.raw-bg-996666{background:#996666;}.raw-bg-996699{background:#996699;}.raw-bg-9966CC{background:#9966CC;}.raw-bg-9966FF{background:#9966FF;}.raw-bg-999900{background:#999900;}.raw-bg-999933{background:#999933;}.raw-bg-999966{background:#999966;}.raw-bg-999999{background:#999999;}.raw-bg-9999CC{background:#9999CC;}.raw-bg-9999FF{background:#9999FF;}.raw-bg-99CC00{background:#99CC00;}.raw-bg-99CC33{background:#99CC33;}.raw-bg-99CC66{background:#99CC66;}.raw-bg-99CC99{background:#99CC99;}.raw-bg-99CCCC{background:#99CCCC;}.raw-bg-99CCFF{background:#99CCFF;}.raw-bg-99FF00{background:#99FF00;}.raw-bg-99FF33{background:#99FF33;}.raw-bg-99FF66{background:#99FF66;}.raw-bg-99FF99{background:#99FF99;}.raw-bg-99FFCC{background:#99FFCC;}.raw-bg-99FFFF{background:#99FFFF;}.raw-bg-CC0000{background:#CC0000;}.raw-bg-CC0033{background:#CC0033;}.raw-bg-CC0066{background:#CC0066;}.raw-bg-CC0099{background:#CC0099;}.raw-bg-CC00CC{background:#CC00CC;}.raw-bg-CC00FF{background:#CC00FF;}.raw-bg-CC3300{background:#CC3300;}.raw-bg-CC3333{background:#CC3333;}.raw-bg-CC3366{background:#CC3366;}.raw-bg-CC3399{background:#CC3399;}.raw-bg-CC33CC{background:#CC33CC;}.raw-bg-CC33FF{background:#CC33FF;}.raw-bg-CC6600{background:#CC6600;}.raw-bg-CC6633{background:#CC6633;}.raw-bg-CC6666{background:#CC6666;}.raw-bg-CC6699{background:#CC6699;}.raw-bg-CC66CC{background:#CC66CC;}.raw-bg-CC66FF{background:#CC66FF;}.raw-bg-CC9900{background:#CC9900;}.raw-bg-CC9933{background:#CC9933;}.raw-bg-CC9966{background:#CC9966;}.raw-bg-CC9999{background:#CC9999;}.raw-bg-CC99CC{background:#CC99CC;}.raw-bg-CC99FF{background:#CC99FF;}.raw-bg-CCCC00{background:#CCCC00;}.raw-bg-CCCC33{background:#CCCC33;}.raw-bg-CCCC66{background:#CCCC66;}.raw-bg-CCCC99{background:#CCCC99;}.raw-bg-CCCCCC{background:#CCCCCC;}.raw-bg-CCCCFF{background:#CCCCFF;}.raw-bg-CCFF00{background:#CCFF00;}.raw-bg-CCFF33{background:#CCFF33;}.raw-bg-CCFF66{background:#CCFF66;}.raw-bg-CCFF99{background:#CCFF99;}.raw-bg-CCFFCC{background:#CCFFCC;}.raw-bg-CCFFFF{background:#CCFFFF;}.raw-bg-FF0000{background:#FF0000;}.raw-bg-FF0033{background:#FF0033;}.raw-bg-FF0066{background:#FF0066;}.raw-bg-FF0099{background:#FF0099;}.raw-bg-FF00CC{background:#FF00CC;}.raw-bg-FF00FF{background:#FF00FF;}.raw-bg-FF3300{background:#FF3300;}.raw-bg-FF3333{background:#FF3333;}.raw-bg-FF3366{background:#FF3366;}.raw-bg-FF3399{background:#FF3399;}.raw-bg-FF33CC{background:#FF33CC;}.raw-bg-FF33FF{background:#FF33FF;}.raw-bg-FF6600{background:#FF6600;}.raw-bg-FF6633{background:#FF6633;}.raw-bg-FF6666{background:#FF6666;}.raw-bg-FF6699{background:#FF6699;}.raw-bg-FF66CC{background:#FF66CC;}.raw-bg-FF66FF{background:#FF66FF;}.raw-bg-FF9900{background:#FF9900;}.raw-bg-FF9933{background:#FF9933;}.raw-bg-FF9966{background:#FF9966;}.raw-bg-FF9999{background:#FF9999;}.raw-bg-FF99CC{background:#FF99CC;}.raw-bg-FF99FF{background:#FF99FF;}.raw-bg-FFCC00{background:#FFCC00;}.raw-bg-FFCC33{background:#FFCC33;}.raw-bg-FFCC66{background:#FFCC66;}.raw-bg-FFCC99{background:#FFCC99;}.raw-bg-FFCCCC{background:#FFCCCC;}.raw-bg-FFCCFF{background:#FFCCFF;}.raw-bg-FFFF00{background:#FFFF00;}.raw-bg-FFFF33{background:#FFFF33;}.raw-bg-FFFF66{background:#FFFF66;}.raw-bg-FFFF99{background:#FFFF99;}.raw-bg-FFFFCC{background:#FFFFCC;}.raw-bg-FFFFFF{background:#FFFFFF;}.raw-block-1{height:1px;}.raw-block-2{height:2px;}.raw-block-3{height:3px;}.raw-block-4{height:4px;}.raw-block-5{height:5px;}.raw-block-10{height:10px;}.raw-block-15{height:15px;}.raw-block-20{height:20px;}.raw-block-25{height:25px;}.raw-block-30{height:30px;}.raw-block-35{height:35px;}.raw-block-40{height:40px;}.raw-block-45{height:45px;}.raw-block-50{height:50px;}.raw-block-55{height:55px;}.raw-block-60{height:60px;}.raw-block-65{height:65px;}.raw-block-70{height:70px;}.raw-block-75{height:75px;}.raw-block-80{height:80px;}.raw-block-85{height:85px;}.raw-block-90{height:90px;}.raw-block-95{height:95px;}.raw-block-100{height:100px;}.raw-block-150{height:150px;}.raw-block-200{height:200px;}.raw-block-250{height:250px;}.raw-block-300{height:300px;}.raw-block-350{height:350px;}.raw-block-400{height:400px;}.raw-block-450{height:450px;}.raw-block-500{height:500px;}.raw-block-550{height:550px;}.raw-block-600{height:600px;}.raw-block-650{height:650px;}.raw-block-700{height:700px;}.raw-block-750{height:750px;}.raw-block-800{height:800px;}.raw-block-850{height:850px;}.raw-block-900{height:900px;}.raw-block-950{height:950px;}.raw-block-1000{height:1000px;}.raw-color-000000{color:#000000;}.raw-color-000033{color:#000033;}.raw-color-000066{color:#000066;}.raw-color-000099{color:#000099;}.raw-color-0000CC{color:#0000CC;}.raw-color-0000FF{color:#0000FF;}.raw-color-003300{color:#003300;}.raw-color-003333{color:#003333;}.raw-color-003366{color:#003366;}.raw-color-003399{color:#003399;}.raw-color-0033CC{color:#0033CC;}.raw-color-0033FF{color:#0033FF;}.raw-color-006600{color:#006600;}.raw-color-006633{color:#006633;}.raw-color-006666{color:#006666;}.raw-color-006699{color:#006699;}.raw-color-0066CC{color:#0066CC;}.raw-color-0066FF{color:#0066FF;}.raw-color-009900{color:#009900;}.raw-color-009933{color:#009933;}.raw-color-009966{color:#009966;}.raw-color-009999{color:#009999;}.raw-color-0099CC{color:#0099CC;}.raw-color-0099FF{color:#0099FF;}.raw-color-00CC00{color:#00CC00;}.raw-color-00CC33{color:#00CC33;}.raw-color-00CC66{color:#00CC66;}.raw-color-00CC99{color:#00CC99;}.raw-color-00CCCC{color:#00CCCC;}.raw-color-00CCFF{color:#00CCFF;}.raw-color-00FF00{color:#00FF00;}.raw-color-00FF33{color:#00FF33;}.raw-color-00FF66{color:#00FF66;}.raw-color-00FF99{color:#00FF99;}.raw-color-00FFCC{color:#00FFCC;}.raw-color-00FFFF{color:#00FFFF;}.raw-color-330000{color:#330000;}.raw-color-330033{color:#330033;}.raw-color-330066{color:#330066;}.raw-color-330099{color:#330099;}.raw-color-3300CC{color:#3300CC;}.raw-color-3300FF{color:#3300FF;}.raw-color-333300{color:#333300;}.raw-color-333333{color:#333333;}.raw-color-333366{color:#333366;}.raw-color-333399{color:#333399;}.raw-color-3333CC{color:#3333CC;}.raw-color-3333FF{color:#3333FF;}.raw-color-336600{color:#336600;}.raw-color-336633{color:#336633;}.raw-color-336666{color:#336666;}.raw-color-336699{color:#336699;}.raw-color-3366CC{color:#3366CC;}.raw-color-3366FF{color:#3366FF;}.raw-color-339900{color:#339900;}.raw-color-339933{color:#339933;}.raw-color-339966{color:#339966;}.raw-color-339999{color:#339999;}.raw-color-3399CC{color:#3399CC;}.raw-color-3399FF{color:#3399FF;}.raw-color-33CC00{color:#33CC00;}.raw-color-33CC33{color:#33CC33;}.raw-color-33CC66{color:#33CC66;}.raw-color-33CC99{color:#33CC99;}.raw-color-33CCCC{color:#33CCCC;}.raw-color-33CCFF{color:#33CCFF;}.raw-color-33FF00{color:#33FF00;}.raw-color-33FF33{color:#33FF33;}.raw-color-33FF66{color:#33FF66;}.raw-color-33FF99{color:#33FF99;}.raw-color-33FFCC{color:#33FFCC;}.raw-color-33FFFF{color:#33FFFF;}.raw-color-660000{color:#660000;}.raw-color-660033{color:#660033;}.raw-color-660066{color:#660066;}.raw-color-660099{color:#660099;}.raw-color-6600CC{color:#6600CC;}.raw-color-6600FF{color:#6600FF;}.raw-color-663300{color:#663300;}.raw-color-663333{color:#663333;}.raw-color-663366{color:#663366;}.raw-color-663399{color:#663399;}.raw-color-6633CC{color:#6633CC;}.raw-color-6633FF{color:#6633FF;}.raw-color-666600{color:#666600;}.raw-color-666633{color:#666633;}.raw-color-666666{color:#666666;}.raw-color-666699{color:#666699;}.raw-color-6666CC{color:#6666CC;}.raw-color-6666FF{color:#6666FF;}.raw-color-669900{color:#669900;}.raw-color-669933{color:#669933;}.raw-color-669966{color:#669966;}.raw-color-669999{color:#669999;}.raw-color-6699CC{color:#6699CC;}.raw-color-6699FF{color:#6699FF;}.raw-color-66CC00{color:#66CC00;}.raw-color-66CC33{color:#66CC33;}.raw-color-66CC66{color:#66CC66;}.raw-color-66CC99{color:#66CC99;}.raw-color-66CCCC{color:#66CCCC;}.raw-color-66CCFF{color:#66CCFF;}.raw-color-66FF00{color:#66FF00;}.raw-color-66FF33{color:#66FF33;}.raw-color-66FF66{color:#66FF66;}.raw-color-66FF99{color:#66FF99;}.raw-color-66FFCC{color:#66FFCC;}.raw-color-66FFFF{color:#66FFFF;}.raw-color-990000{color:#990000;}.raw-color-990033{color:#990033;}.raw-color-990066{color:#990066;}.raw-color-990099{color:#990099;}.raw-color-9900CC{color:#9900CC;}.raw-color-9900FF{color:#9900FF;}.raw-color-993300{color:#993300;}.raw-color-993333{color:#993333;}.raw-color-993366{color:#993366;}.raw-color-993399{color:#993399;}.raw-color-9933CC{color:#9933CC;}.raw-color-9933FF{color:#9933FF;}.raw-color-996600{color:#996600;}.raw-color-996633{color:#996633;}.raw-color-996666{color:#996666;}.raw-color-996699{color:#996699;}.raw-color-9966CC{color:#9966CC;}.raw-color-9966FF{color:#9966FF;}.raw-color-999900{color:#999900;}.raw-color-999933{color:#999933;}.raw-color-999966{color:#999966;}.raw-color-999999{color:#999999;}.raw-color-9999CC{color:#9999CC;}.raw-color-9999FF{color:#9999FF;}.raw-color-99CC00{color:#99CC00;}.raw-color-99CC33{color:#99CC33;}.raw-color-99CC66{color:#99CC66;}.raw-color-99CC99{color:#99CC99;}.raw-color-99CCCC{color:#99CCCC;}.raw-color-99CCFF{color:#99CCFF;}.raw-color-99FF00{color:#99FF00;}.raw-color-99FF33{color:#99FF33;}.raw-color-99FF66{color:#99FF66;}.raw-color-99FF99{color:#99FF99;}.raw-color-99FFCC{color:#99FFCC;}.raw-color-99FFFF{color:#99FFFF;}.raw-color-CC0000{color:#CC0000;}.raw-color-CC0033{color:#CC0033;}.raw-color-CC0066{color:#CC0066;}.raw-color-CC0099{color:#CC0099;}.raw-color-CC00CC{color:#CC00CC;}.raw-color-CC00FF{color:#CC00FF;}.raw-color-CC3300{color:#CC3300;}.raw-color-CC3333{color:#CC3333;}.raw-color-CC3366{color:#CC3366;}.raw-color-CC3399{color:#CC3399;}.raw-color-CC33CC{color:#CC33CC;}.raw-color-CC33FF{color:#CC33FF;}.raw-color-CC6600{color:#CC6600;}.raw-color-CC6633{color:#CC6633;}.raw-color-CC6666{color:#CC6666;}.raw-color-CC6699{color:#CC6699;}.raw-color-CC66CC{color:#CC66CC;}.raw-color-CC66FF{color:#CC66FF;}.raw-color-CC9900{color:#CC9900;}.raw-color-CC9933{color:#CC9933;}.raw-color-CC9966{color:#CC9966;}.raw-color-CC9999{color:#CC9999;}.raw-color-CC99CC{color:#CC99CC;}.raw-color-CC99FF{color:#CC99FF;}.raw-color-CCCC00{color:#CCCC00;}.raw-color-CCCC33{color:#CCCC33;}.raw-color-CCCC66{color:#CCCC66;}.raw-color-CCCC99{color:#CCCC99;}.raw-color-CCCCCC{color:#CCCCCC;}.raw-color-CCCCFF{color:#CCCCFF;}.raw-color-CCFF00{color:#CCFF00;}.raw-color-CCFF33{color:#CCFF33;}.raw-color-CCFF66{color:#CCFF66;}.raw-color-CCFF99{color:#CCFF99;}.raw-color-CCFFCC{color:#CCFFCC;}.raw-color-CCFFFF{color:#CCFFFF;}.raw-color-FF0000{color:#FF0000;}.raw-color-FF0033{color:#FF0033;}.raw-color-FF0066{color:#FF0066;}.raw-color-FF0099{color:#FF0099;}.raw-color-FF00CC{color:#FF00CC;}.raw-color-FF00FF{color:#FF00FF;}.raw-color-FF3300{color:#FF3300;}.raw-color-FF3333{color:#FF3333;}.raw-color-FF3366{color:#FF3366;}.raw-color-FF3399{color:#FF3399;}.raw-color-FF33CC{color:#FF33CC;}.raw-color-FF33FF{color:#FF33FF;}.raw-color-FF6600{color:#FF6600;}.raw-color-FF6633{color:#FF6633;}.raw-color-FF6666{color:#FF6666;}.raw-color-FF6699{color:#FF6699;}.raw-color-FF66CC{color:#FF66CC;}.raw-color-FF66FF{color:#FF66FF;}.raw-color-FF9900{color:#FF9900;}.raw-color-FF9933{color:#FF9933;}.raw-color-FF9966{color:#FF9966;}.raw-color-FF9999{color:#FF9999;}.raw-color-FF99CC{color:#FF99CC;}.raw-color-FF99FF{color:#FF99FF;}.raw-color-FFCC00{color:#FFCC00;}.raw-color-FFCC33{color:#FFCC33;}.raw-color-FFCC66{color:#FFCC66;}.raw-color-FFCC99{color:#FFCC99;}.raw-color-FFCCCC{color:#FFCCCC;}.raw-color-FFCCFF{color:#FFCCFF;}.raw-color-FFFF00{color:#FFFF00;}.raw-color-FFFF33{color:#FFFF33;}.raw-color-FFFF66{color:#FFFF66;}.raw-color-FFFF99{color:#FFFF99;}.raw-color-FFFFCC{color:#FFFFCC;}.raw-color-FFFFFF{color:#FFFFFF;}.raw-height-1{height:1%;}.raw-height-2{height:2%;}.raw-height-3{height:3%;}.raw-height-4{height:4%;}.raw-height-5{height:5%;}.raw-height-6{height:6%;}.raw-height-7{height:7%;}.raw-height-8{height:8%;}.raw-height-9{height:9%;}.raw-height-10{height:10%;}.raw-height-11{height:11%;}.raw-height-12{height:12%;}.raw-height-13{height:13%;}.raw-height-14{height:14%;}.raw-height-15{height:15%;}.raw-height-16{height:16%;}.raw-height-17{height:17%;}.raw-height-18{height:18%;}.raw-height-19{height:19%;}.raw-height-20{height:20%;}.raw-height-21{height:21%;}.raw-height-22{height:22%;}.raw-height-23{height:23%;}.raw-height-24{height:24%;}.raw-height-25{height:25%;}.raw-height-26{height:26%;}.raw-height-27{height:27%;}.raw-height-28{height:28%;}.raw-height-29{height:29%;}.raw-height-30{height:30%;}.raw-height-31{height:31%;}.raw-height-32{height:32%;}.raw-height-33{height:33%;}.raw-height-34{height:34%;}.raw-height-35{height:35%;}.raw-height-36{height:36%;}.raw-height-37{height:37%;}.raw-height-38{height:38%;}.raw-height-39{height:39%;}.raw-height-40{height:40%;}.raw-height-41{height:41%;}.raw-height-42{height:42%;}.raw-height-43{height:43%;}.raw-height-44{height:44%;}.raw-height-45{height:45%;}.raw-height-46{height:46%;}.raw-height-47{height:47%;}.raw-height-48{height:48%;}.raw-height-49{height:49%;}.raw-height-50{height:50%;}.raw-height-51{height:51%;}.raw-height-52{height:52%;}.raw-height-53{height:53%;}.raw-height-54{height:54%;}.raw-height-55{height:55%;}.raw-height-56{height:56%;}.raw-height-57{height:57%;}.raw-height-58{height:58%;}.raw-height-59{height:59%;}.raw-height-60{height:60%;}.raw-height-61{height:61%;}.raw-height-62{height:62%;}.raw-height-63{height:63%;}.raw-height-64{height:64%;}.raw-height-65{height:65%;}.raw-height-66{height:66%;}.raw-height-67{height:67%;}.raw-height-68{height:68%;}.raw-height-69{height:69%;}.raw-height-70{height:70%;}.raw-height-71{height:71%;}.raw-height-72{height:72%;}.raw-height-73{height:73%;}.raw-height-74{height:74%;}.raw-height-75{height:75%;}.raw-height-76{height:76%;}.raw-height-77{height:77%;}.raw-height-78{height:78%;}.raw-height-79{height:79%;}.raw-height-80{height:80%;}.raw-height-81{height:81%;}.raw-height-82{height:82%;}.raw-height-83{height:83%;}.raw-height-84{height:84%;}.raw-height-85{height:85%;}.raw-height-86{height:86%;}.raw-height-87{height:87%;}.raw-height-88{height:88%;}.raw-height-89{height:89%;}.raw-height-90{height:90%;}.raw-height-91{height:91%;}.raw-height-92{height:92%;}.raw-height-93{height:93%;}.raw-height-94{height:94%;}.raw-height-95{height:95%;}.raw-height-96{height:96%;}.raw-height-97{height:97%;}.raw-height-98{height:98%;}.raw-height-99{height:99%;}.raw-height-100{height:100%;}.raw-margin-top-4{margin-top:4px;}.raw-margin-top-8{margin-top:8px;}.raw-margin-top-12{margin-top:12px;}.raw-margin-top-16{margin-top:16px;}.raw-margin-top-20{margin-top:20px;}.raw-margin-top-24{margin-top:24px;}.raw-margin-top-28{margin-top:28px;}.raw-margin-top-32{margin-top:32px;}.raw-margin-top-36{margin-top:36px;}.raw-margin-top-40{margin-top:40px;}.raw-margin-top-44{margin-top:44px;}.raw-margin-top-48{margin-top:48px;}.raw-margin-top-52{margin-top:52px;}.raw-margin-top-56{margin-top:56px;}.raw-margin-top-60{margin-top:60px;}.raw-margin-top-64{margin-top:64px;}.raw-margin-top-68{margin-top:68px;}.raw-margin-top-72{margin-top:72px;}.raw-margin-top-76{margin-top:76px;}.raw-margin-top-80{margin-top:80px;}.raw-margin-top-84{margin-top:84px;}.raw-margin-top-88{margin-top:88px;}.raw-margin-top-92{margin-top:92px;}.raw-margin-top-96{margin-top:96px;}.raw-margin-top-100{margin-top:100px;}.raw-margin-top-104{margin-top:104px;}.raw-margin-top-108{margin-top:108px;}.raw-margin-top-112{margin-top:112px;}.raw-margin-top-116{margin-top:116px;}.raw-margin-top-120{margin-top:120px;}.raw-margin-top-124{margin-top:124px;}.raw-margin-top-128{margin-top:128px;}.raw-margin-top-132{margin-top:132px;}.raw-margin-top-136{margin-top:136px;}.raw-margin-top-140{margin-top:140px;}.raw-margin-top-144{margin-top:144px;}.raw-margin-top-148{margin-top:148px;}.raw-margin-top-152{margin-top:152px;}.raw-margin-top-156{margin-top:156px;}.raw-margin-top-160{margin-top:160px;}.raw-margin-top-164{margin-top:164px;}.raw-margin-top-168{margin-top:168px;}.raw-margin-top-172{margin-top:172px;}.raw-margin-top-176{margin-top:176px;}.raw-margin-top-180{margin-top:180px;}.raw-margin-top-184{margin-top:184px;}.raw-margin-top-188{margin-top:188px;}.raw-margin-top-192{margin-top:192px;}.raw-margin-top-196{margin-top:196px;}.raw-margin-top-200{margin-top:200px;}.raw-margin-top-204{margin-top:204px;}.raw-margin-top-208{margin-top:208px;}.raw-margin-top-212{margin-top:212px;}.raw-margin-top-216{margin-top:216px;}.raw-margin-top-220{margin-top:220px;}.raw-margin-top-224{margin-top:224px;}.raw-margin-top-228{margin-top:228px;}.raw-margin-top-232{margin-top:232px;}.raw-margin-top-236{margin-top:236px;}.raw-margin-top-240{margin-top:240px;}.raw-margin-top-244{margin-top:244px;}.raw-margin-top-248{margin-top:248px;}.raw-margin-top-252{margin-top:252px;}.raw-margin-top-256{margin-top:256px;}.raw-margin-top-260{margin-top:260px;}.raw-margin-top-264{margin-top:264px;}.raw-margin-top-268{margin-top:268px;}.raw-margin-top-272{margin-top:272px;}.raw-margin-top-276{margin-top:276px;}.raw-margin-top-280{margin-top:280px;}.raw-margin-top-284{margin-top:284px;}.raw-margin-top-288{margin-top:288px;}.raw-margin-top-292{margin-top:292px;}.raw-margin-top-296{margin-top:296px;}.raw-margin-top-300{margin-top:300px;}.raw-margin-top-304{margin-top:304px;}.raw-margin-top-308{margin-top:308px;}.raw-margin-top-312{margin-top:312px;}.raw-margin-top-316{margin-top:316px;}.raw-margin-top-320{margin-top:320px;}.raw-margin-top-324{margin-top:324px;}.raw-margin-top-328{margin-top:328px;}.raw-margin-top-332{margin-top:332px;}.raw-margin-top-336{margin-top:336px;}.raw-margin-top-340{margin-top:340px;}.raw-margin-top-344{margin-top:344px;}.raw-margin-top-348{margin-top:348px;}.raw-margin-top-352{margin-top:352px;}.raw-margin-top-356{margin-top:356px;}.raw-margin-top-360{margin-top:360px;}.raw-margin-top-364{margin-top:364px;}.raw-margin-top-368{margin-top:368px;}.raw-margin-top-372{margin-top:372px;}.raw-margin-top-376{margin-top:376px;}.raw-margin-top-380{margin-top:380px;}.raw-margin-top-384{margin-top:384px;}.raw-margin-top-388{margin-top:388px;}.raw-margin-top-392{margin-top:392px;}.raw-margin-top-396{margin-top:396px;}.raw-margin-top-400{margin-top:400px;}.raw-margin-left-4{margin-left:4px;}.raw-margin-left-8{margin-left:8px;}.raw-margin-left-12{margin-left:12px;}.raw-margin-left-16{margin-left:16px;}.raw-margin-left-20{margin-left:20px;}.raw-margin-left-24{margin-left:24px;}.raw-margin-left-28{margin-left:28px;}.raw-margin-left-32{margin-left:32px;}.raw-margin-left-36{margin-left:36px;}.raw-margin-left-40{margin-left:40px;}.raw-margin-left-44{margin-left:44px;}.raw-margin-left-48{margin-left:48px;}.raw-margin-left-52{margin-left:52px;}.raw-margin-left-56{margin-left:56px;}.raw-margin-left-60{margin-left:60px;}.raw-margin-left-64{margin-left:64px;}.raw-margin-left-68{margin-left:68px;}.raw-margin-left-72{margin-left:72px;}.raw-margin-left-76{margin-left:76px;}.raw-margin-left-80{margin-left:80px;}.raw-margin-left-84{margin-left:84px;}.raw-margin-left-88{margin-left:88px;}.raw-margin-left-92{margin-left:92px;}.raw-margin-left-96{margin-left:96px;}.raw-margin-left-100{margin-left:100px;}.raw-margin-left-104{margin-left:104px;}.raw-margin-left-108{margin-left:108px;}.raw-margin-left-112{margin-left:112px;}.raw-margin-left-116{margin-left:116px;}.raw-margin-left-120{margin-left:120px;}.raw-margin-left-124{margin-left:124px;}.raw-margin-left-128{margin-left:128px;}.raw-margin-left-132{margin-left:132px;}.raw-margin-left-136{margin-left:136px;}.raw-margin-left-140{margin-left:140px;}.raw-margin-left-144{margin-left:144px;}.raw-margin-left-148{margin-left:148px;}.raw-margin-left-152{margin-left:152px;}.raw-margin-left-156{margin-left:156px;}.raw-margin-left-160{margin-left:160px;}.raw-margin-left-164{margin-left:164px;}.raw-margin-left-168{margin-left:168px;}.raw-margin-left-172{margin-left:172px;}.raw-margin-left-176{margin-left:176px;}.raw-margin-left-180{margin-left:180px;}.raw-margin-left-184{margin-left:184px;}.raw-margin-left-188{margin-left:188px;}.raw-margin-left-192{margin-left:192px;}.raw-margin-left-196{margin-left:196px;}.raw-margin-left-200{margin-left:200px;}.raw-margin-left-204{margin-left:204px;}.raw-margin-left-208{margin-left:208px;}.raw-margin-left-212{margin-left:212px;}.raw-margin-left-216{margin-left:216px;}.raw-margin-left-220{margin-left:220px;}.raw-margin-left-224{margin-left:224px;}.raw-margin-left-228{margin-left:228px;}.raw-margin-left-232{margin-left:232px;}.raw-margin-left-236{margin-left:236px;}.raw-margin-left-240{margin-left:240px;}.raw-margin-left-244{margin-left:244px;}.raw-margin-left-248{margin-left:248px;}.raw-margin-left-252{margin-left:252px;}.raw-margin-left-256{margin-left:256px;}.raw-margin-left-260{margin-left:260px;}.raw-margin-left-264{margin-left:264px;}.raw-margin-left-268{margin-left:268px;}.raw-margin-left-272{margin-left:272px;}.raw-margin-left-276{margin-left:276px;}.raw-margin-left-280{margin-left:280px;}.raw-margin-left-284{margin-left:284px;}.raw-margin-left-288{margin-left:288px;}.raw-margin-left-292{margin-left:292px;}.raw-margin-left-296{margin-left:296px;}.raw-margin-left-300{margin-left:300px;}.raw-margin-left-304{margin-left:304px;}.raw-margin-left-308{margin-left:308px;}.raw-margin-left-312{margin-left:312px;}.raw-margin-left-316{margin-left:316px;}.raw-margin-left-320{margin-left:320px;}.raw-margin-left-324{margin-left:324px;}.raw-margin-left-328{margin-left:328px;}.raw-margin-left-332{margin-left:332px;}.raw-margin-left-336{margin-left:336px;}.raw-margin-left-340{margin-left:340px;}.raw-margin-left-344{margin-left:344px;}.raw-margin-left-348{margin-left:348px;}.raw-margin-left-352{margin-left:352px;}.raw-margin-left-356{margin-left:356px;}.raw-margin-left-360{margin-left:360px;}.raw-margin-left-364{margin-left:364px;}.raw-margin-left-368{margin-left:368px;}.raw-margin-left-372{margin-left:372px;}.raw-margin-left-376{margin-left:376px;}.raw-margin-left-380{margin-left:380px;}.raw-margin-left-384{margin-left:384px;}.raw-margin-left-388{margin-left:388px;}.raw-margin-left-392{margin-left:392px;}.raw-margin-left-396{margin-left:396px;}.raw-margin-left-400{margin-left:400px;}.raw-margin-right-4{margin-right:4px;}.raw-margin-right-8{margin-right:8px;}.raw-margin-right-12{margin-right:12px;}.raw-margin-right-16{margin-right:16px;}.raw-margin-right-20{margin-right:20px;}.raw-margin-right-24{margin-right:24px;}.raw-margin-right-28{margin-right:28px;}.raw-margin-right-32{margin-right:32px;}.raw-margin-right-36{margin-right:36px;}.raw-margin-right-40{margin-right:40px;}.raw-margin-right-44{margin-right:44px;}.raw-margin-right-48{margin-right:48px;}.raw-margin-right-52{margin-right:52px;}.raw-margin-right-56{margin-right:56px;}.raw-margin-right-60{margin-right:60px;}.raw-margin-right-64{margin-right:64px;}.raw-margin-right-68{margin-right:68px;}.raw-margin-right-72{margin-right:72px;}.raw-margin-right-76{margin-right:76px;}.raw-margin-right-80{margin-right:80px;}.raw-margin-right-84{margin-right:84px;}.raw-margin-right-88{margin-right:88px;}.raw-margin-right-92{margin-right:92px;}.raw-margin-right-96{margin-right:96px;}.raw-margin-right-100{margin-right:100px;}.raw-margin-right-104{margin-right:104px;}.raw-margin-right-108{margin-right:108px;}.raw-margin-right-112{margin-right:112px;}.raw-margin-right-116{margin-right:116px;}.raw-margin-right-120{margin-right:120px;}.raw-margin-right-124{margin-right:124px;}.raw-margin-right-128{margin-right:128px;}.raw-margin-right-132{margin-right:132px;}.raw-margin-right-136{margin-right:136px;}.raw-margin-right-140{margin-right:140px;}.raw-margin-right-144{margin-right:144px;}.raw-margin-right-148{margin-right:148px;}.raw-margin-right-152{margin-right:152px;}.raw-margin-right-156{margin-right:156px;}.raw-margin-right-160{margin-right:160px;}.raw-margin-right-164{margin-right:164px;}.raw-margin-right-168{margin-right:168px;}.raw-margin-right-172{margin-right:172px;}.raw-margin-right-176{margin-right:176px;}.raw-margin-right-180{margin-right:180px;}.raw-margin-right-184{margin-right:184px;}.raw-margin-right-188{margin-right:188px;}.raw-margin-right-192{margin-right:192px;}.raw-margin-right-196{margin-right:196px;}.raw-margin-right-200{margin-right:200px;}.raw-margin-right-204{margin-right:204px;}.raw-margin-right-208{margin-right:208px;}.raw-margin-right-212{margin-right:212px;}.raw-margin-right-216{margin-right:216px;}.raw-margin-right-220{margin-right:220px;}.raw-margin-right-224{margin-right:224px;}.raw-margin-right-228{margin-right:228px;}.raw-margin-right-232{margin-right:232px;}.raw-margin-right-236{margin-right:236px;}.raw-margin-right-240{margin-right:240px;}.raw-margin-right-244{margin-right:244px;}.raw-margin-right-248{margin-right:248px;}.raw-margin-right-252{margin-right:252px;}.raw-margin-right-256{margin-right:256px;}.raw-margin-right-260{margin-right:260px;}.raw-margin-right-264{margin-right:264px;}.raw-margin-right-268{margin-right:268px;}.raw-margin-right-272{margin-right:272px;}.raw-margin-right-276{margin-right:276px;}.raw-margin-right-280{margin-right:280px;}.raw-margin-right-284{margin-right:284px;}.raw-margin-right-288{margin-right:288px;}.raw-margin-right-292{margin-right:292px;}.raw-margin-right-296{margin-right:296px;}.raw-margin-right-300{margin-right:300px;}.raw-margin-right-304{margin-right:304px;}.raw-margin-right-308{margin-right:308px;}.raw-margin-right-312{margin-right:312px;}.raw-margin-right-316{margin-right:316px;}.raw-margin-right-320{margin-right:320px;}.raw-margin-right-324{margin-right:324px;}.raw-margin-right-328{margin-right:328px;}.raw-margin-right-332{margin-right:332px;}.raw-margin-right-336{margin-right:336px;}.raw-margin-right-340{margin-right:340px;}.raw-margin-right-344{margin-right:344px;}.raw-margin-right-348{margin-right:348px;}.raw-margin-right-352{margin-right:352px;}.raw-margin-right-356{margin-right:356px;}.raw-margin-right-360{margin-right:360px;}.raw-margin-right-364{margin-right:364px;}.raw-margin-right-368{margin-right:368px;}.raw-margin-right-372{margin-right:372px;}.raw-margin-right-376{margin-right:376px;}.raw-margin-right-380{margin-right:380px;}.raw-margin-right-384{margin-right:384px;}.raw-margin-right-388{margin-right:388px;}.raw-margin-right-392{margin-right:392px;}.raw-margin-right-396{margin-right:396px;}.raw-margin-right-400{margin-right:400px;}.raw-margin-bottom-4{margin-bottom:4px;}.raw-margin-bottom-8{margin-bottom:8px;}.raw-margin-bottom-12{margin-bottom:12px;}.raw-margin-bottom-16{margin-bottom:16px;}.raw-margin-bottom-20{margin-bottom:20px;}.raw-margin-bottom-24{margin-bottom:24px;}.raw-margin-bottom-28{margin-bottom:28px;}.raw-margin-bottom-32{margin-bottom:32px;}.raw-margin-bottom-36{margin-bottom:36px;}.raw-margin-bottom-40{margin-bottom:40px;}.raw-margin-bottom-44{margin-bottom:44px;}.raw-margin-bottom-48{margin-bottom:48px;}.raw-margin-bottom-52{margin-bottom:52px;}.raw-margin-bottom-56{margin-bottom:56px;}.raw-margin-bottom-60{margin-bottom:60px;}.raw-margin-bottom-64{margin-bottom:64px;}.raw-margin-bottom-68{margin-bottom:68px;}.raw-margin-bottom-72{margin-bottom:72px;}.raw-margin-bottom-76{margin-bottom:76px;}.raw-margin-bottom-80{margin-bottom:80px;}.raw-margin-bottom-84{margin-bottom:84px;}.raw-margin-bottom-88{margin-bottom:88px;}.raw-margin-bottom-92{margin-bottom:92px;}.raw-margin-bottom-96{margin-bottom:96px;}.raw-margin-bottom-100{margin-bottom:100px;}.raw-margin-bottom-104{margin-bottom:104px;}.raw-margin-bottom-108{margin-bottom:108px;}.raw-margin-bottom-112{margin-bottom:112px;}.raw-margin-bottom-116{margin-bottom:116px;}.raw-margin-bottom-120{margin-bottom:120px;}.raw-margin-bottom-124{margin-bottom:124px;}.raw-margin-bottom-128{margin-bottom:128px;}.raw-margin-bottom-132{margin-bottom:132px;}.raw-margin-bottom-136{margin-bottom:136px;}.raw-margin-bottom-140{margin-bottom:140px;}.raw-margin-bottom-144{margin-bottom:144px;}.raw-margin-bottom-148{margin-bottom:148px;}.raw-margin-bottom-152{margin-bottom:152px;}.raw-margin-bottom-156{margin-bottom:156px;}.raw-margin-bottom-160{margin-bottom:160px;}.raw-margin-bottom-164{margin-bottom:164px;}.raw-margin-bottom-168{margin-bottom:168px;}.raw-margin-bottom-172{margin-bottom:172px;}.raw-margin-bottom-176{margin-bottom:176px;}.raw-margin-bottom-180{margin-bottom:180px;}.raw-margin-bottom-184{margin-bottom:184px;}.raw-margin-bottom-188{margin-bottom:188px;}.raw-margin-bottom-192{margin-bottom:192px;}.raw-margin-bottom-196{margin-bottom:196px;}.raw-margin-bottom-200{margin-bottom:200px;}.raw-margin-bottom-204{margin-bottom:204px;}.raw-margin-bottom-208{margin-bottom:208px;}.raw-margin-bottom-212{margin-bottom:212px;}.raw-margin-bottom-216{margin-bottom:216px;}.raw-margin-bottom-220{margin-bottom:220px;}.raw-margin-bottom-224{margin-bottom:224px;}.raw-margin-bottom-228{margin-bottom:228px;}.raw-margin-bottom-232{margin-bottom:232px;}.raw-margin-bottom-236{margin-bottom:236px;}.raw-margin-bottom-240{margin-bottom:240px;}.raw-margin-bottom-244{margin-bottom:244px;}.raw-margin-bottom-248{margin-bottom:248px;}.raw-margin-bottom-252{margin-bottom:252px;}.raw-margin-bottom-256{margin-bottom:256px;}.raw-margin-bottom-260{margin-bottom:260px;}.raw-margin-bottom-264{margin-bottom:264px;}.raw-margin-bottom-268{margin-bottom:268px;}.raw-margin-bottom-272{margin-bottom:272px;}.raw-margin-bottom-276{margin-bottom:276px;}.raw-margin-bottom-280{margin-bottom:280px;}.raw-margin-bottom-284{margin-bottom:284px;}.raw-margin-bottom-288{margin-bottom:288px;}.raw-margin-bottom-292{margin-bottom:292px;}.raw-margin-bottom-296{margin-bottom:296px;}.raw-margin-bottom-300{margin-bottom:300px;}.raw-margin-bottom-304{margin-bottom:304px;}.raw-margin-bottom-308{margin-bottom:308px;}.raw-margin-bottom-312{margin-bottom:312px;}.raw-margin-bottom-316{margin-bottom:316px;}.raw-margin-bottom-320{margin-bottom:320px;}.raw-margin-bottom-324{margin-bottom:324px;}.raw-margin-bottom-328{margin-bottom:328px;}.raw-margin-bottom-332{margin-bottom:332px;}.raw-margin-bottom-336{margin-bottom:336px;}.raw-margin-bottom-340{margin-bottom:340px;}.raw-margin-bottom-344{margin-bottom:344px;}.raw-margin-bottom-348{margin-bottom:348px;}.raw-margin-bottom-352{margin-bottom:352px;}.raw-margin-bottom-356{margin-bottom:356px;}.raw-margin-bottom-360{margin-bottom:360px;}.raw-margin-bottom-364{margin-bottom:364px;}.raw-margin-bottom-368{margin-bottom:368px;}.raw-margin-bottom-372{margin-bottom:372px;}.raw-margin-bottom-376{margin-bottom:376px;}.raw-margin-bottom-380{margin-bottom:380px;}.raw-margin-bottom-384{margin-bottom:384px;}.raw-margin-bottom-388{margin-bottom:388px;}.raw-margin-bottom-392{margin-bottom:392px;}.raw-margin-bottom-396{margin-bottom:396px;}.raw-margin-bottom-400{margin-bottom:400px;}.raw-margin-4{margin:4px;}.raw-margin-8{margin:8px;}.raw-margin-12{margin:12px;}.raw-margin-16{margin:16px;}.raw-margin-20{margin:20px;}.raw-margin-24{margin:24px;}.raw-margin-28{margin:28px;}.raw-margin-32{margin:32px;}.raw-margin-36{margin:36px;}.raw-margin-40{margin:40px;}.raw-margin-44{margin:44px;}.raw-margin-48{margin:48px;}.raw-margin-52{margin:52px;}.raw-margin-56{margin:56px;}.raw-margin-60{margin:60px;}.raw-margin-64{margin:64px;}.raw-margin-68{margin:68px;}.raw-margin-72{margin:72px;}.raw-margin-76{margin:76px;}.raw-margin-80{margin:80px;}.raw-margin-84{margin:84px;}.raw-margin-88{margin:88px;}.raw-margin-92{margin:92px;}.raw-margin-96{margin:96px;}.raw-margin-100{margin:100px;}.raw-margin-104{margin:104px;}.raw-margin-108{margin:108px;}.raw-margin-112{margin:112px;}.raw-margin-116{margin:116px;}.raw-margin-120{margin:120px;}.raw-margin-124{margin:124px;}.raw-margin-128{margin:128px;}.raw-margin-132{margin:132px;}.raw-margin-136{margin:136px;}.raw-margin-140{margin:140px;}.raw-margin-144{margin:144px;}.raw-margin-148{margin:148px;}.raw-margin-152{margin:152px;}.raw-margin-156{margin:156px;}.raw-margin-160{margin:160px;}.raw-margin-164{margin:164px;}.raw-margin-168{margin:168px;}.raw-margin-172{margin:172px;}.raw-margin-176{margin:176px;}.raw-margin-180{margin:180px;}.raw-margin-184{margin:184px;}.raw-margin-188{margin:188px;}.raw-margin-192{margin:192px;}.raw-margin-196{margin:196px;}.raw-margin-200{margin:200px;}.raw-margin-204{margin:204px;}.raw-margin-208{margin:208px;}.raw-margin-212{margin:212px;}.raw-margin-216{margin:216px;}.raw-margin-220{margin:220px;}.raw-margin-224{margin:224px;}.raw-margin-228{margin:228px;}.raw-margin-232{margin:232px;}.raw-margin-236{margin:236px;}.raw-margin-240{margin:240px;}.raw-margin-244{margin:244px;}.raw-margin-248{margin:248px;}.raw-margin-252{margin:252px;}.raw-margin-256{margin:256px;}.raw-margin-260{margin:260px;}.raw-margin-264{margin:264px;}.raw-margin-268{margin:268px;}.raw-margin-272{margin:272px;}.raw-margin-276{margin:276px;}.raw-margin-280{margin:280px;}.raw-margin-284{margin:284px;}.raw-margin-288{margin:288px;}.raw-margin-292{margin:292px;}.raw-margin-296{margin:296px;}.raw-margin-300{margin:300px;}.raw-margin-304{margin:304px;}.raw-margin-308{margin:308px;}.raw-margin-312{margin:312px;}.raw-margin-316{margin:316px;}.raw-margin-320{margin:320px;}.raw-margin-324{margin:324px;}.raw-margin-328{margin:328px;}.raw-margin-332{margin:332px;}.raw-margin-336{margin:336px;}.raw-margin-340{margin:340px;}.raw-margin-344{margin:344px;}.raw-margin-348{margin:348px;}.raw-margin-352{margin:352px;}.raw-margin-356{margin:356px;}.raw-margin-360{margin:360px;}.raw-margin-364{margin:364px;}.raw-margin-368{margin:368px;}.raw-margin-372{margin:372px;}.raw-margin-376{margin:376px;}.raw-margin-380{margin:380px;}.raw-margin-384{margin:384px;}.raw-margin-388{margin:388px;}.raw-margin-392{margin:392px;}.raw-margin-396{margin:396px;}.raw-margin-400{margin:400px;}.raw-margin-auto{margin:0 auto;}.raw-margin-top-0{margin-top:0;}.raw-margin-top-5{margin-top:5px;}.raw-margin-top-10{margin-top:10px;}.raw-margin-top-15{margin-top:15px;}.raw-margin-top-20{margin-top:20px;}.raw-margin-top-25{margin-top:25px;}.raw-margin-top-30{margin-top:30px;}.raw-margin-top-35{margin-top:35px;}.raw-margin-top-40{margin-top:40px;}.raw-margin-top-45{margin-top:45px;}.raw-margin-top-50{margin-top:50px;}.raw-margin-top-55{margin-top:55px;}.raw-margin-top-60{margin-top:60px;}.raw-margin-top-65{margin-top:65px;}.raw-margin-top-70{margin-top:70px;}.raw-margin-top-75{margin-top:75px;}.raw-margin-top-80{margin-top:80px;}.raw-margin-top-85{margin-top:85px;}.raw-margin-top-90{margin-top:90px;}.raw-margin-top-95{margin-top:95px;}.raw-margin-top-100{margin-top:100px;}.raw-margin-top-105{margin-top:105px;}.raw-margin-top-110{margin-top:110px;}.raw-margin-top-115{margin-top:115px;}.raw-margin-top-120{margin-top:120px;}.raw-margin-top-125{margin-top:125px;}.raw-margin-top-130{margin-top:130px;}.raw-margin-top-135{margin-top:135px;}.raw-margin-top-140{margin-top:140px;}.raw-margin-top-145{margin-top:145px;}.raw-margin-top-150{margin-top:150px;}.raw-margin-top-155{margin-top:155px;}.raw-margin-top-160{margin-top:160px;}.raw-margin-top-165{margin-top:165px;}.raw-margin-top-170{margin-top:170px;}.raw-margin-top-175{margin-top:175px;}.raw-margin-top-180{margin-top:180px;}.raw-margin-top-185{margin-top:185px;}.raw-margin-top-190{margin-top:190px;}.raw-margin-top-195{margin-top:195px;}.raw-margin-top-200{margin-top:200px;}.raw-margin-right-0{margin-right:0;}.raw-margin-right-5{margin-right:5px;}.raw-margin-right-10{margin-right:10px;}.raw-margin-right-15{margin-right:15px;}.raw-margin-right-20{margin-right:20px;}.raw-margin-right-25{margin-right:25px;}.raw-margin-right-30{margin-right:30px;}.raw-margin-right-35{margin-right:35px;}.raw-margin-right-40{margin-right:40px;}.raw-margin-right-45{margin-right:45px;}.raw-margin-right-50{margin-right:50px;}.raw-margin-right-55{margin-right:55px;}.raw-margin-right-60{margin-right:60px;}.raw-margin-right-65{margin-right:65px;}.raw-margin-right-70{margin-right:70px;}.raw-margin-right-75{margin-right:75px;}.raw-margin-right-80{margin-right:80px;}.raw-margin-right-85{margin-right:85px;}.raw-margin-right-90{margin-right:90px;}.raw-margin-right-95{margin-right:95px;}.raw-margin-right-100{margin-right:100px;}.raw-margin-right-105{margin-right:105px;}.raw-margin-right-110{margin-right:110px;}.raw-margin-right-115{margin-right:115px;}.raw-margin-right-120{margin-right:120px;}.raw-margin-right-125{margin-right:125px;}.raw-margin-right-130{margin-right:130px;}.raw-margin-right-135{margin-right:135px;}.raw-margin-right-140{margin-right:140px;}.raw-margin-right-145{margin-right:145px;}.raw-margin-right-150{margin-right:150px;}.raw-margin-right-155{margin-right:155px;}.raw-margin-right-160{margin-right:160px;}.raw-margin-right-165{margin-right:165px;}.raw-margin-right-170{margin-right:170px;}.raw-margin-right-175{margin-right:175px;}.raw-margin-right-180{margin-right:180px;}.raw-margin-right-185{margin-right:185px;}.raw-margin-right-190{margin-right:190px;}.raw-margin-right-195{margin-right:195px;}.raw-margin-right-200{margin-right:200px;}.raw-margin-bottom-0{margin-bottom:0;}.raw-margin-bottom-5{margin-bottom:5px;}.raw-margin-bottom-10{margin-bottom:10px;}.raw-margin-bottom-15{margin-bottom:15px;}.raw-margin-bottom-20{margin-bottom:20px;}.raw-margin-bottom-25{margin-bottom:25px;}.raw-margin-bottom-30{margin-bottom:30px;}.raw-margin-bottom-35{margin-bottom:35px;}.raw-margin-bottom-40{margin-bottom:40px;}.raw-margin-bottom-45{margin-bottom:45px;}.raw-margin-bottom-50{margin-bottom:50px;}.raw-margin-bottom-55{margin-bottom:55px;}.raw-margin-bottom-60{margin-bottom:60px;}.raw-margin-bottom-65{margin-bottom:65px;}.raw-margin-bottom-70{margin-bottom:70px;}.raw-margin-bottom-75{margin-bottom:75px;}.raw-margin-bottom-80{margin-bottom:80px;}.raw-margin-bottom-85{margin-bottom:85px;}.raw-margin-bottom-90{margin-bottom:90px;}.raw-margin-bottom-95{margin-bottom:95px;}.raw-margin-bottom-100{margin-bottom:100px;}.raw-margin-bottom-105{margin-bottom:105px;}.raw-margin-bottom-110{margin-bottom:110px;}.raw-margin-bottom-115{margin-bottom:115px;}.raw-margin-bottom-120{margin-bottom:120px;}.raw-margin-bottom-125{margin-bottom:125px;}.raw-margin-bottom-130{margin-bottom:130px;}.raw-margin-bottom-135{margin-bottom:135px;}.raw-margin-bottom-140{margin-bottom:140px;}.raw-margin-bottom-145{margin-bottom:145px;}.raw-margin-bottom-150{margin-bottom:150px;}.raw-margin-bottom-155{margin-bottom:155px;}.raw-margin-bottom-160{margin-bottom:160px;}.raw-margin-bottom-165{margin-bottom:165px;}.raw-margin-bottom-170{margin-bottom:170px;}.raw-margin-bottom-175{margin-bottom:175px;}.raw-margin-bottom-180{margin-bottom:180px;}.raw-margin-bottom-185{margin-bottom:185px;}.raw-margin-bottom-190{margin-bottom:190px;}.raw-margin-bottom-195{margin-bottom:195px;}.raw-margin-bottom-200{margin-bottom:200px;}.raw-margin-left-0{margin-left:0;}.raw-margin-left-5{margin-left:5px;}.raw-margin-left-10{margin-left:10px;}.raw-margin-left-15{margin-left:15px;}.raw-margin-left-20{margin-left:20px;}.raw-margin-left-25{margin-left:25px;}.raw-margin-left-30{margin-left:30px;}.raw-margin-left-35{margin-left:35px;}.raw-margin-left-40{margin-left:40px;}.raw-margin-left-45{margin-left:45px;}.raw-margin-left-50{margin-left:50px;}.raw-margin-left-55{margin-left:55px;}.raw-margin-left-60{margin-left:60px;}.raw-margin-left-65{margin-left:65px;}.raw-margin-left-70{margin-left:70px;}.raw-margin-left-75{margin-left:75px;}.raw-margin-left-80{margin-left:80px;}.raw-margin-left-85{margin-left:85px;}.raw-margin-left-90{margin-left:90px;}.raw-margin-left-95{margin-left:95px;}.raw-margin-left-100{margin-left:100px;}.raw-margin-left-105{margin-left:105px;}.raw-margin-left-110{margin-left:110px;}.raw-margin-left-115{margin-left:115px;}.raw-margin-left-120{margin-left:120px;}.raw-margin-left-125{margin-left:125px;}.raw-margin-left-130{margin-left:130px;}.raw-margin-left-135{margin-left:135px;}.raw-margin-left-140{margin-left:140px;}.raw-margin-left-145{margin-left:145px;}.raw-margin-left-150{margin-left:150px;}.raw-margin-left-155{margin-left:155px;}.raw-margin-left-160{margin-left:160px;}.raw-margin-left-165{margin-left:165px;}.raw-margin-left-170{margin-left:170px;}.raw-margin-left-175{margin-left:175px;}.raw-margin-left-180{margin-left:180px;}.raw-margin-left-185{margin-left:185px;}.raw-margin-left-190{margin-left:190px;}.raw-margin-left-195{margin-left:195px;}.raw-margin-left-200{margin-left:200px;}.raw-margin-0{margin:0;}.raw-margin-5{margin:5px;}.raw-margin-10{margin:10px;}.raw-margin-15{margin:15px;}.raw-margin-20{margin:20px;}.raw-margin-25{margin:25px;}.raw-margin-30{margin:30px;}.raw-margin-35{margin:35px;}.raw-margin-40{margin:40px;}.raw-margin-45{margin:45px;}.raw-margin-50{margin:50px;}.raw-margin-55{margin:55px;}.raw-margin-60{margin:60px;}.raw-margin-65{margin:65px;}.raw-margin-70{margin:70px;}.raw-margin-75{margin:75px;}.raw-margin-80{margin:80px;}.raw-margin-85{margin:85px;}.raw-margin-90{margin:90px;}.raw-margin-95{margin:95px;}.raw-margin-100{margin:100px;}.raw-margin-105{margin:105px;}.raw-margin-110{margin:110px;}.raw-margin-115{margin:115px;}.raw-margin-120{margin:120px;}.raw-margin-125{margin:125px;}.raw-margin-130{margin:130px;}.raw-margin-135{margin:135px;}.raw-margin-140{margin:140px;}.raw-margin-145{margin:145px;}.raw-margin-150{margin:150px;}.raw-margin-155{margin:155px;}.raw-margin-160{margin:160px;}.raw-margin-165{margin:165px;}.raw-margin-170{margin:170px;}.raw-margin-175{margin:175px;}.raw-margin-180{margin:180px;}.raw-margin-185{margin:185px;}.raw-margin-190{margin:190px;}.raw-margin-195{margin:195px;}.raw-margin-200{margin:200px;}.raw-margin-auto{margin:0 auto;}.raw-padding-top-4{padding-top:4px;}.raw-padding-top-8{padding-top:8px;}.raw-padding-top-12{padding-top:12px;}.raw-padding-top-16{padding-top:16px;}.raw-padding-top-20{padding-top:20px;}.raw-padding-top-24{padding-top:24px;}.raw-padding-top-28{padding-top:28px;}.raw-padding-top-32{padding-top:32px;}.raw-padding-top-36{padding-top:36px;}.raw-padding-top-40{padding-top:40px;}.raw-padding-top-44{padding-top:44px;}.raw-padding-top-48{padding-top:48px;}.raw-padding-top-52{padding-top:52px;}.raw-padding-top-56{padding-top:56px;}.raw-padding-top-60{padding-top:60px;}.raw-padding-top-64{padding-top:64px;}.raw-padding-top-68{padding-top:68px;}.raw-padding-top-72{padding-top:72px;}.raw-padding-top-76{padding-top:76px;}.raw-padding-top-80{padding-top:80px;}.raw-padding-top-84{padding-top:84px;}.raw-padding-top-88{padding-top:88px;}.raw-padding-top-92{padding-top:92px;}.raw-padding-top-96{padding-top:96px;}.raw-padding-top-100{padding-top:100px;}.raw-padding-top-104{padding-top:104px;}.raw-padding-top-108{padding-top:108px;}.raw-padding-top-112{padding-top:112px;}.raw-padding-top-116{padding-top:116px;}.raw-padding-top-120{padding-top:120px;}.raw-padding-top-124{padding-top:124px;}.raw-padding-top-128{padding-top:128px;}.raw-padding-top-132{padding-top:132px;}.raw-padding-top-136{padding-top:136px;}.raw-padding-top-140{padding-top:140px;}.raw-padding-top-144{padding-top:144px;}.raw-padding-top-148{padding-top:148px;}.raw-padding-top-152{padding-top:152px;}.raw-padding-top-156{padding-top:156px;}.raw-padding-top-160{padding-top:160px;}.raw-padding-top-164{padding-top:164px;}.raw-padding-top-168{padding-top:168px;}.raw-padding-top-172{padding-top:172px;}.raw-padding-top-176{padding-top:176px;}.raw-padding-top-180{padding-top:180px;}.raw-padding-top-184{padding-top:184px;}.raw-padding-top-188{padding-top:188px;}.raw-padding-top-192{padding-top:192px;}.raw-padding-top-196{padding-top:196px;}.raw-padding-top-200{padding-top:200px;}.raw-padding-top-204{padding-top:204px;}.raw-padding-top-208{padding-top:208px;}.raw-padding-top-212{padding-top:212px;}.raw-padding-top-216{padding-top:216px;}.raw-padding-top-220{padding-top:220px;}.raw-padding-top-224{padding-top:224px;}.raw-padding-top-228{padding-top:228px;}.raw-padding-top-232{padding-top:232px;}.raw-padding-top-236{padding-top:236px;}.raw-padding-top-240{padding-top:240px;}.raw-padding-top-244{padding-top:244px;}.raw-padding-top-248{padding-top:248px;}.raw-padding-top-252{padding-top:252px;}.raw-padding-top-256{padding-top:256px;}.raw-padding-top-260{padding-top:260px;}.raw-padding-top-264{padding-top:264px;}.raw-padding-top-268{padding-top:268px;}.raw-padding-top-272{padding-top:272px;}.raw-padding-top-276{padding-top:276px;}.raw-padding-top-280{padding-top:280px;}.raw-padding-top-284{padding-top:284px;}.raw-padding-top-288{padding-top:288px;}.raw-padding-top-292{padding-top:292px;}.raw-padding-top-296{padding-top:296px;}.raw-padding-top-300{padding-top:300px;}.raw-padding-top-304{padding-top:304px;}.raw-padding-top-308{padding-top:308px;}.raw-padding-top-312{padding-top:312px;}.raw-padding-top-316{padding-top:316px;}.raw-padding-top-320{padding-top:320px;}.raw-padding-top-324{padding-top:324px;}.raw-padding-top-328{padding-top:328px;}.raw-padding-top-332{padding-top:332px;}.raw-padding-top-336{padding-top:336px;}.raw-padding-top-340{padding-top:340px;}.raw-padding-top-344{padding-top:344px;}.raw-padding-top-348{padding-top:348px;}.raw-padding-top-352{padding-top:352px;}.raw-padding-top-356{padding-top:356px;}.raw-padding-top-360{padding-top:360px;}.raw-padding-top-364{padding-top:364px;}.raw-padding-top-368{padding-top:368px;}.raw-padding-top-372{padding-top:372px;}.raw-padding-top-376{padding-top:376px;}.raw-padding-top-380{padding-top:380px;}.raw-padding-top-384{padding-top:384px;}.raw-padding-top-388{padding-top:388px;}.raw-padding-top-392{padding-top:392px;}.raw-padding-top-396{padding-top:396px;}.raw-padding-top-400{padding-top:400px;}.raw-padding-left-4{padding-left:4px;}.raw-padding-left-8{padding-left:8px;}.raw-padding-left-12{padding-left:12px;}.raw-padding-left-16{padding-left:16px;}.raw-padding-left-20{padding-left:20px;}.raw-padding-left-24{padding-left:24px;}.raw-padding-left-28{padding-left:28px;}.raw-padding-left-32{padding-left:32px;}.raw-padding-left-36{padding-left:36px;}.raw-padding-left-40{padding-left:40px;}.raw-padding-left-44{padding-left:44px;}.raw-padding-left-48{padding-left:48px;}.raw-padding-left-52{padding-left:52px;}.raw-padding-left-56{padding-left:56px;}.raw-padding-left-60{padding-left:60px;}.raw-padding-left-64{padding-left:64px;}.raw-padding-left-68{padding-left:68px;}.raw-padding-left-72{padding-left:72px;}.raw-padding-left-76{padding-left:76px;}.raw-padding-left-80{padding-left:80px;}.raw-padding-left-84{padding-left:84px;}.raw-padding-left-88{padding-left:88px;}.raw-padding-left-92{padding-left:92px;}.raw-padding-left-96{padding-left:96px;}.raw-padding-left-100{padding-left:100px;}.raw-padding-left-104{padding-left:104px;}.raw-padding-left-108{padding-left:108px;}.raw-padding-left-112{padding-left:112px;}.raw-padding-left-116{padding-left:116px;}.raw-padding-left-120{padding-left:120px;}.raw-padding-left-124{padding-left:124px;}.raw-padding-left-128{padding-left:128px;}.raw-padding-left-132{padding-left:132px;}.raw-padding-left-136{padding-left:136px;}.raw-padding-left-140{padding-left:140px;}.raw-padding-left-144{padding-left:144px;}.raw-padding-left-148{padding-left:148px;}.raw-padding-left-152{padding-left:152px;}.raw-padding-left-156{padding-left:156px;}.raw-padding-left-160{padding-left:160px;}.raw-padding-left-164{padding-left:164px;}.raw-padding-left-168{padding-left:168px;}.raw-padding-left-172{padding-left:172px;}.raw-padding-left-176{padding-left:176px;}.raw-padding-left-180{padding-left:180px;}.raw-padding-left-184{padding-left:184px;}.raw-padding-left-188{padding-left:188px;}.raw-padding-left-192{padding-left:192px;}.raw-padding-left-196{padding-left:196px;}.raw-padding-left-200{padding-left:200px;}.raw-padding-left-204{padding-left:204px;}.raw-padding-left-208{padding-left:208px;}.raw-padding-left-212{padding-left:212px;}.raw-padding-left-216{padding-left:216px;}.raw-padding-left-220{padding-left:220px;}.raw-padding-left-224{padding-left:224px;}.raw-padding-left-228{padding-left:228px;}.raw-padding-left-232{padding-left:232px;}.raw-padding-left-236{padding-left:236px;}.raw-padding-left-240{padding-left:240px;}.raw-padding-left-244{padding-left:244px;}.raw-padding-left-248{padding-left:248px;}.raw-padding-left-252{padding-left:252px;}.raw-padding-left-256{padding-left:256px;}.raw-padding-left-260{padding-left:260px;}.raw-padding-left-264{padding-left:264px;}.raw-padding-left-268{padding-left:268px;}.raw-padding-left-272{padding-left:272px;}.raw-padding-left-276{padding-left:276px;}.raw-padding-left-280{padding-left:280px;}.raw-padding-left-284{padding-left:284px;}.raw-padding-left-288{padding-left:288px;}.raw-padding-left-292{padding-left:292px;}.raw-padding-left-296{padding-left:296px;}.raw-padding-left-300{padding-left:300px;}.raw-padding-left-304{padding-left:304px;}.raw-padding-left-308{padding-left:308px;}.raw-padding-left-312{padding-left:312px;}.raw-padding-left-316{padding-left:316px;}.raw-padding-left-320{padding-left:320px;}.raw-padding-left-324{padding-left:324px;}.raw-padding-left-328{padding-left:328px;}.raw-padding-left-332{padding-left:332px;}.raw-padding-left-336{padding-left:336px;}.raw-padding-left-340{padding-left:340px;}.raw-padding-left-344{padding-left:344px;}.raw-padding-left-348{padding-left:348px;}.raw-padding-left-352{padding-left:352px;}.raw-padding-left-356{padding-left:356px;}.raw-padding-left-360{padding-left:360px;}.raw-padding-left-364{padding-left:364px;}.raw-padding-left-368{padding-left:368px;}.raw-padding-left-372{padding-left:372px;}.raw-padding-left-376{padding-left:376px;}.raw-padding-left-380{padding-left:380px;}.raw-padding-left-384{padding-left:384px;}.raw-padding-left-388{padding-left:388px;}.raw-padding-left-392{padding-left:392px;}.raw-padding-left-396{padding-left:396px;}.raw-padding-left-400{padding-left:400px;}.raw-padding-right-4{padding-right:4px;}.raw-padding-right-8{padding-right:8px;}.raw-padding-right-12{padding-right:12px;}.raw-padding-right-16{padding-right:16px;}.raw-padding-right-20{padding-right:20px;}.raw-padding-right-24{padding-right:24px;}.raw-padding-right-28{padding-right:28px;}.raw-padding-right-32{padding-right:32px;}.raw-padding-right-36{padding-right:36px;}.raw-padding-right-40{padding-right:40px;}.raw-padding-right-44{padding-right:44px;}.raw-padding-right-48{padding-right:48px;}.raw-padding-right-52{padding-right:52px;}.raw-padding-right-56{padding-right:56px;}.raw-padding-right-60{padding-right:60px;}.raw-padding-right-64{padding-right:64px;}.raw-padding-right-68{padding-right:68px;}.raw-padding-right-72{padding-right:72px;}.raw-padding-right-76{padding-right:76px;}.raw-padding-right-80{padding-right:80px;}.raw-padding-right-84{padding-right:84px;}.raw-padding-right-88{padding-right:88px;}.raw-padding-right-92{padding-right:92px;}.raw-padding-right-96{padding-right:96px;}.raw-padding-right-100{padding-right:100px;}.raw-padding-right-104{padding-right:104px;}.raw-padding-right-108{padding-right:108px;}.raw-padding-right-112{padding-right:112px;}.raw-padding-right-116{padding-right:116px;}.raw-padding-right-120{padding-right:120px;}.raw-padding-right-124{padding-right:124px;}.raw-padding-right-128{padding-right:128px;}.raw-padding-right-132{padding-right:132px;}.raw-padding-right-136{padding-right:136px;}.raw-padding-right-140{padding-right:140px;}.raw-padding-right-144{padding-right:144px;}.raw-padding-right-148{padding-right:148px;}.raw-padding-right-152{padding-right:152px;}.raw-padding-right-156{padding-right:156px;}.raw-padding-right-160{padding-right:160px;}.raw-padding-right-164{padding-right:164px;}.raw-padding-right-168{padding-right:168px;}.raw-padding-right-172{padding-right:172px;}.raw-padding-right-176{padding-right:176px;}.raw-padding-right-180{padding-right:180px;}.raw-padding-right-184{padding-right:184px;}.raw-padding-right-188{padding-right:188px;}.raw-padding-right-192{padding-right:192px;}.raw-padding-right-196{padding-right:196px;}.raw-padding-right-200{padding-right:200px;}.raw-padding-right-204{padding-right:204px;}.raw-padding-right-208{padding-right:208px;}.raw-padding-right-212{padding-right:212px;}.raw-padding-right-216{padding-right:216px;}.raw-padding-right-220{padding-right:220px;}.raw-padding-right-224{padding-right:224px;}.raw-padding-right-228{padding-right:228px;}.raw-padding-right-232{padding-right:232px;}.raw-padding-right-236{padding-right:236px;}.raw-padding-right-240{padding-right:240px;}.raw-padding-right-244{padding-right:244px;}.raw-padding-right-248{padding-right:248px;}.raw-padding-right-252{padding-right:252px;}.raw-padding-right-256{padding-right:256px;}.raw-padding-right-260{padding-right:260px;}.raw-padding-right-264{padding-right:264px;}.raw-padding-right-268{padding-right:268px;}.raw-padding-right-272{padding-right:272px;}.raw-padding-right-276{padding-right:276px;}.raw-padding-right-280{padding-right:280px;}.raw-padding-right-284{padding-right:284px;}.raw-padding-right-288{padding-right:288px;}.raw-padding-right-292{padding-right:292px;}.raw-padding-right-296{padding-right:296px;}.raw-padding-right-300{padding-right:300px;}.raw-padding-right-304{padding-right:304px;}.raw-padding-right-308{padding-right:308px;}.raw-padding-right-312{padding-right:312px;}.raw-padding-right-316{padding-right:316px;}.raw-padding-right-320{padding-right:320px;}.raw-padding-right-324{padding-right:324px;}.raw-padding-right-328{padding-right:328px;}.raw-padding-right-332{padding-right:332px;}.raw-padding-right-336{padding-right:336px;}.raw-padding-right-340{padding-right:340px;}.raw-padding-right-344{padding-right:344px;}.raw-padding-right-348{padding-right:348px;}.raw-padding-right-352{padding-right:352px;}.raw-padding-right-356{padding-right:356px;}.raw-padding-right-360{padding-right:360px;}.raw-padding-right-364{padding-right:364px;}.raw-padding-right-368{padding-right:368px;}.raw-padding-right-372{padding-right:372px;}.raw-padding-right-376{padding-right:376px;}.raw-padding-right-380{padding-right:380px;}.raw-padding-right-384{padding-right:384px;}.raw-padding-right-388{padding-right:388px;}.raw-padding-right-392{padding-right:392px;}.raw-padding-right-396{padding-right:396px;}.raw-padding-right-400{padding-right:400px;}.raw-padding-bottom-4{padding-bottom:4px;}.raw-padding-bottom-8{padding-bottom:8px;}.raw-padding-bottom-12{padding-bottom:12px;}.raw-padding-bottom-16{padding-bottom:16px;}.raw-padding-bottom-20{padding-bottom:20px;}.raw-padding-bottom-24{padding-bottom:24px;}.raw-padding-bottom-28{padding-bottom:28px;}.raw-padding-bottom-32{padding-bottom:32px;}.raw-padding-bottom-36{padding-bottom:36px;}.raw-padding-bottom-40{padding-bottom:40px;}.raw-padding-bottom-44{padding-bottom:44px;}.raw-padding-bottom-48{padding-bottom:48px;}.raw-padding-bottom-52{padding-bottom:52px;}.raw-padding-bottom-56{padding-bottom:56px;}.raw-padding-bottom-60{padding-bottom:60px;}.raw-padding-bottom-64{padding-bottom:64px;}.raw-padding-bottom-68{padding-bottom:68px;}.raw-padding-bottom-72{padding-bottom:72px;}.raw-padding-bottom-76{padding-bottom:76px;}.raw-padding-bottom-80{padding-bottom:80px;}.raw-padding-bottom-84{padding-bottom:84px;}.raw-padding-bottom-88{padding-bottom:88px;}.raw-padding-bottom-92{padding-bottom:92px;}.raw-padding-bottom-96{padding-bottom:96px;}.raw-padding-bottom-100{padding-bottom:100px;}.raw-padding-bottom-104{padding-bottom:104px;}.raw-padding-bottom-108{padding-bottom:108px;}.raw-padding-bottom-112{padding-bottom:112px;}.raw-padding-bottom-116{padding-bottom:116px;}.raw-padding-bottom-120{padding-bottom:120px;}.raw-padding-bottom-124{padding-bottom:124px;}.raw-padding-bottom-128{padding-bottom:128px;}.raw-padding-bottom-132{padding-bottom:132px;}.raw-padding-bottom-136{padding-bottom:136px;}.raw-padding-bottom-140{padding-bottom:140px;}.raw-padding-bottom-144{padding-bottom:144px;}.raw-padding-bottom-148{padding-bottom:148px;}.raw-padding-bottom-152{padding-bottom:152px;}.raw-padding-bottom-156{padding-bottom:156px;}.raw-padding-bottom-160{padding-bottom:160px;}.raw-padding-bottom-164{padding-bottom:164px;}.raw-padding-bottom-168{padding-bottom:168px;}.raw-padding-bottom-172{padding-bottom:172px;}.raw-padding-bottom-176{padding-bottom:176px;}.raw-padding-bottom-180{padding-bottom:180px;}.raw-padding-bottom-184{padding-bottom:184px;}.raw-padding-bottom-188{padding-bottom:188px;}.raw-padding-bottom-192{padding-bottom:192px;}.raw-padding-bottom-196{padding-bottom:196px;}.raw-padding-bottom-200{padding-bottom:200px;}.raw-padding-bottom-204{padding-bottom:204px;}.raw-padding-bottom-208{padding-bottom:208px;}.raw-padding-bottom-212{padding-bottom:212px;}.raw-padding-bottom-216{padding-bottom:216px;}.raw-padding-bottom-220{padding-bottom:220px;}.raw-padding-bottom-224{padding-bottom:224px;}.raw-padding-bottom-228{padding-bottom:228px;}.raw-padding-bottom-232{padding-bottom:232px;}.raw-padding-bottom-236{padding-bottom:236px;}.raw-padding-bottom-240{padding-bottom:240px;}.raw-padding-bottom-244{padding-bottom:244px;}.raw-padding-bottom-248{padding-bottom:248px;}.raw-padding-bottom-252{padding-bottom:252px;}.raw-padding-bottom-256{padding-bottom:256px;}.raw-padding-bottom-260{padding-bottom:260px;}.raw-padding-bottom-264{padding-bottom:264px;}.raw-padding-bottom-268{padding-bottom:268px;}.raw-padding-bottom-272{padding-bottom:272px;}.raw-padding-bottom-276{padding-bottom:276px;}.raw-padding-bottom-280{padding-bottom:280px;}.raw-padding-bottom-284{padding-bottom:284px;}.raw-padding-bottom-288{padding-bottom:288px;}.raw-padding-bottom-292{padding-bottom:292px;}.raw-padding-bottom-296{padding-bottom:296px;}.raw-padding-bottom-300{padding-bottom:300px;}.raw-padding-bottom-304{padding-bottom:304px;}.raw-padding-bottom-308{padding-bottom:308px;}.raw-padding-bottom-312{padding-bottom:312px;}.raw-padding-bottom-316{padding-bottom:316px;}.raw-padding-bottom-320{padding-bottom:320px;}.raw-padding-bottom-324{padding-bottom:324px;}.raw-padding-bottom-328{padding-bottom:328px;}.raw-padding-bottom-332{padding-bottom:332px;}.raw-padding-bottom-336{padding-bottom:336px;}.raw-padding-bottom-340{padding-bottom:340px;}.raw-padding-bottom-344{padding-bottom:344px;}.raw-padding-bottom-348{padding-bottom:348px;}.raw-padding-bottom-352{padding-bottom:352px;}.raw-padding-bottom-356{padding-bottom:356px;}.raw-padding-bottom-360{padding-bottom:360px;}.raw-padding-bottom-364{padding-bottom:364px;}.raw-padding-bottom-368{padding-bottom:368px;}.raw-padding-bottom-372{padding-bottom:372px;}.raw-padding-bottom-376{padding-bottom:376px;}.raw-padding-bottom-380{padding-bottom:380px;}.raw-padding-bottom-384{padding-bottom:384px;}.raw-padding-bottom-388{padding-bottom:388px;}.raw-padding-bottom-392{padding-bottom:392px;}.raw-padding-bottom-396{padding-bottom:396px;}.raw-padding-bottom-400{padding-bottom:400px;}.raw-padding-4{padding:4px;}.raw-padding-8{padding:8px;}.raw-padding-12{padding:12px;}.raw-padding-16{padding:16px;}.raw-padding-20{padding:20px;}.raw-padding-24{padding:24px;}.raw-padding-28{padding:28px;}.raw-padding-32{padding:32px;}.raw-padding-36{padding:36px;}.raw-padding-40{padding:40px;}.raw-padding-44{padding:44px;}.raw-padding-48{padding:48px;}.raw-padding-52{padding:52px;}.raw-padding-56{padding:56px;}.raw-padding-60{padding:60px;}.raw-padding-64{padding:64px;}.raw-padding-68{padding:68px;}.raw-padding-72{padding:72px;}.raw-padding-76{padding:76px;}.raw-padding-80{padding:80px;}.raw-padding-84{padding:84px;}.raw-padding-88{padding:88px;}.raw-padding-92{padding:92px;}.raw-padding-96{padding:96px;}.raw-padding-100{padding:100px;}.raw-padding-104{padding:104px;}.raw-padding-108{padding:108px;}.raw-padding-112{padding:112px;}.raw-padding-116{padding:116px;}.raw-padding-120{padding:120px;}.raw-padding-124{padding:124px;}.raw-padding-128{padding:128px;}.raw-padding-132{padding:132px;}.raw-padding-136{padding:136px;}.raw-padding-140{padding:140px;}.raw-padding-144{padding:144px;}.raw-padding-148{padding:148px;}.raw-padding-152{padding:152px;}.raw-padding-156{padding:156px;}.raw-padding-160{padding:160px;}.raw-padding-164{padding:164px;}.raw-padding-168{padding:168px;}.raw-padding-172{padding:172px;}.raw-padding-176{padding:176px;}.raw-padding-180{padding:180px;}.raw-padding-184{padding:184px;}.raw-padding-188{padding:188px;}.raw-padding-192{padding:192px;}.raw-padding-196{padding:196px;}.raw-padding-200{padding:200px;}.raw-padding-204{padding:204px;}.raw-padding-208{padding:208px;}.raw-padding-212{padding:212px;}.raw-padding-216{padding:216px;}.raw-padding-220{padding:220px;}.raw-padding-224{padding:224px;}.raw-padding-228{padding:228px;}.raw-padding-232{padding:232px;}.raw-padding-236{padding:236px;}.raw-padding-240{padding:240px;}.raw-padding-244{padding:244px;}.raw-padding-248{padding:248px;}.raw-padding-252{padding:252px;}.raw-padding-256{padding:256px;}.raw-padding-260{padding:260px;}.raw-padding-264{padding:264px;}.raw-padding-268{padding:268px;}.raw-padding-272{padding:272px;}.raw-padding-276{padding:276px;}.raw-padding-280{padding:280px;}.raw-padding-284{padding:284px;}.raw-padding-288{padding:288px;}.raw-padding-292{padding:292px;}.raw-padding-296{padding:296px;}.raw-padding-300{padding:300px;}.raw-padding-304{padding:304px;}.raw-padding-308{padding:308px;}.raw-padding-312{padding:312px;}.raw-padding-316{padding:316px;}.raw-padding-320{padding:320px;}.raw-padding-324{padding:324px;}.raw-padding-328{padding:328px;}.raw-padding-332{padding:332px;}.raw-padding-336{padding:336px;}.raw-padding-340{padding:340px;}.raw-padding-344{padding:344px;}.raw-padding-348{padding:348px;}.raw-padding-352{padding:352px;}.raw-padding-356{padding:356px;}.raw-padding-360{padding:360px;}.raw-padding-364{padding:364px;}.raw-padding-368{padding:368px;}.raw-padding-372{padding:372px;}.raw-padding-376{padding:376px;}.raw-padding-380{padding:380px;}.raw-padding-384{padding:384px;}.raw-padding-388{padding:388px;}.raw-padding-392{padding:392px;}.raw-padding-396{padding:396px;}.raw-padding-400{padding:400px;}.raw-padding-auto{margin:0 auto;}.raw-padding-top-0{padding-top:0;}.raw-padding-top-5{padding-top:5px;}.raw-padding-top-10{padding-top:10px;}.raw-padding-top-15{padding-top:15px;}.raw-padding-top-20{padding-top:20px;}.raw-padding-top-25{padding-top:25px;}.raw-padding-top-30{padding-top:30px;}.raw-padding-top-35{padding-top:35px;}.raw-padding-top-40{padding-top:40px;}.raw-padding-top-45{padding-top:45px;}.raw-padding-top-50{padding-top:50px;}.raw-padding-top-55{padding-top:55px;}.raw-padding-top-60{padding-top:60px;}.raw-padding-top-65{padding-top:65px;}.raw-padding-top-70{padding-top:70px;}.raw-padding-top-75{padding-top:75px;}.raw-padding-top-80{padding-top:80px;}.raw-padding-top-85{padding-top:85px;}.raw-padding-top-90{padding-top:90px;}.raw-padding-top-95{padding-top:95px;}.raw-padding-top-100{padding-top:100px;}.raw-padding-top-105{padding-top:105px;}.raw-padding-top-110{padding-top:110px;}.raw-padding-top-115{padding-top:115px;}.raw-padding-top-120{padding-top:120px;}.raw-padding-top-125{padding-top:125px;}.raw-padding-top-130{padding-top:130px;}.raw-padding-top-135{padding-top:135px;}.raw-padding-top-140{padding-top:140px;}.raw-padding-top-145{padding-top:145px;}.raw-padding-top-150{padding-top:150px;}.raw-padding-top-155{padding-top:155px;}.raw-padding-top-160{padding-top:160px;}.raw-padding-top-165{padding-top:165px;}.raw-padding-top-170{padding-top:170px;}.raw-padding-top-175{padding-top:175px;}.raw-padding-top-180{padding-top:180px;}.raw-padding-top-185{padding-top:185px;}.raw-padding-top-190{padding-top:190px;}.raw-padding-top-195{padding-top:195px;}.raw-padding-top-200{padding-top:200px;}.raw-padding-right-0{padding-right:0;}.raw-padding-right-5{padding-right:5px;}.raw-padding-right-10{padding-right:10px;}.raw-padding-right-15{padding-right:15px;}.raw-padding-right-20{padding-right:20px;}.raw-padding-right-25{padding-right:25px;}.raw-padding-right-30{padding-right:30px;}.raw-padding-right-35{padding-right:35px;}.raw-padding-right-40{padding-right:40px;}.raw-padding-right-45{padding-right:45px;}.raw-padding-right-50{padding-right:50px;}.raw-padding-right-55{padding-right:55px;}.raw-padding-right-60{padding-right:60px;}.raw-padding-right-65{padding-right:65px;}.raw-padding-right-70{padding-right:70px;}.raw-padding-right-75{padding-right:75px;}.raw-padding-right-80{padding-right:80px;}.raw-padding-right-85{padding-right:85px;}.raw-padding-right-90{padding-right:90px;}.raw-padding-right-95{padding-right:95px;}.raw-padding-right-100{padding-right:100px;}.raw-padding-right-105{padding-right:105px;}.raw-padding-right-110{padding-right:110px;}.raw-padding-right-115{padding-right:115px;}.raw-padding-right-120{padding-right:120px;}.raw-padding-right-125{padding-right:125px;}.raw-padding-right-130{padding-right:130px;}.raw-padding-right-135{padding-right:135px;}.raw-padding-right-140{padding-right:140px;}.raw-padding-right-145{padding-right:145px;}.raw-padding-right-150{padding-right:150px;}.raw-padding-right-155{padding-right:155px;}.raw-padding-right-160{padding-right:160px;}.raw-padding-right-165{padding-right:165px;}.raw-padding-right-170{padding-right:170px;}.raw-padding-right-175{padding-right:175px;}.raw-padding-right-180{padding-right:180px;}.raw-padding-right-185{padding-right:185px;}.raw-padding-right-190{padding-right:190px;}.raw-padding-right-195{padding-right:195px;}.raw-padding-right-200{padding-right:200px;}.raw-padding-bottom-0{padding-bottom:0;}.raw-padding-bottom-5{padding-bottom:5px;}.raw-padding-bottom-10{padding-bottom:10px;}.raw-padding-bottom-15{padding-bottom:15px;}.raw-padding-bottom-20{padding-bottom:20px;}.raw-padding-bottom-25{padding-bottom:25px;}.raw-padding-bottom-30{padding-bottom:30px;}.raw-padding-bottom-35{padding-bottom:35px;}.raw-padding-bottom-40{padding-bottom:40px;}.raw-padding-bottom-45{padding-bottom:45px;}.raw-padding-bottom-50{padding-bottom:50px;}.raw-padding-bottom-55{padding-bottom:55px;}.raw-padding-bottom-60{padding-bottom:60px;}.raw-padding-bottom-65{padding-bottom:65px;}.raw-padding-bottom-70{padding-bottom:70px;}.raw-padding-bottom-75{padding-bottom:75px;}.raw-padding-bottom-80{padding-bottom:80px;}.raw-padding-bottom-85{padding-bottom:85px;}.raw-padding-bottom-90{padding-bottom:90px;}.raw-padding-bottom-95{padding-bottom:95px;}.raw-padding-bottom-100{padding-bottom:100px;}.raw-padding-bottom-105{padding-bottom:105px;}.raw-padding-bottom-110{padding-bottom:110px;}.raw-padding-bottom-115{padding-bottom:115px;}.raw-padding-bottom-120{padding-bottom:120px;}.raw-padding-bottom-125{padding-bottom:125px;}.raw-padding-bottom-130{padding-bottom:130px;}.raw-padding-bottom-135{padding-bottom:135px;}.raw-padding-bottom-140{padding-bottom:140px;}.raw-padding-bottom-145{padding-bottom:145px;}.raw-padding-bottom-150{padding-bottom:150px;}.raw-padding-bottom-155{padding-bottom:155px;}.raw-padding-bottom-160{padding-bottom:160px;}.raw-padding-bottom-165{padding-bottom:165px;}.raw-padding-bottom-170{padding-bottom:170px;}.raw-padding-bottom-175{padding-bottom:175px;}.raw-padding-bottom-180{padding-bottom:180px;}.raw-padding-bottom-185{padding-bottom:185px;}.raw-padding-bottom-190{padding-bottom:190px;}.raw-padding-bottom-195{padding-bottom:195px;}.raw-padding-bottom-200{padding-bottom:200px;}.raw-padding-left-0{padding-left:0;}.raw-padding-left-5{padding-left:5px;}.raw-padding-left-10{padding-left:10px;}.raw-padding-left-15{padding-left:15px;}.raw-padding-left-20{padding-left:20px;}.raw-padding-left-25{padding-left:25px;}.raw-padding-left-30{padding-left:30px;}.raw-padding-left-35{padding-left:35px;}.raw-padding-left-40{padding-left:40px;}.raw-padding-left-45{padding-left:45px;}.raw-padding-left-50{padding-left:50px;}.raw-padding-left-55{padding-left:55px;}.raw-padding-left-60{padding-left:60px;}.raw-padding-left-65{padding-left:65px;}.raw-padding-left-70{padding-left:70px;}.raw-padding-left-75{padding-left:75px;}.raw-padding-left-80{padding-left:80px;}.raw-padding-left-85{padding-left:85px;}.raw-padding-left-90{padding-left:90px;}.raw-padding-left-95{padding-left:95px;}.raw-padding-left-100{padding-left:100px;}.raw-padding-left-105{padding-left:105px;}.raw-padding-left-110{padding-left:110px;}.raw-padding-left-115{padding-left:115px;}.raw-padding-left-120{padding-left:120px;}.raw-padding-left-125{padding-left:125px;}.raw-padding-left-130{padding-left:130px;}.raw-padding-left-135{padding-left:135px;}.raw-padding-left-140{padding-left:140px;}.raw-padding-left-145{padding-left:145px;}.raw-padding-left-150{padding-left:150px;}.raw-padding-left-155{padding-left:155px;}.raw-padding-left-160{padding-left:160px;}.raw-padding-left-165{padding-left:165px;}.raw-padding-left-170{padding-left:170px;}.raw-padding-left-175{padding-left:175px;}.raw-padding-left-180{padding-left:180px;}.raw-padding-left-185{padding-left:185px;}.raw-padding-left-190{padding-left:190px;}.raw-padding-left-195{padding-left:195px;}.raw-padding-left-200{padding-left:200px;}.raw-padding-0{padding:0;}.raw-padding-5{padding:5px;}.raw-padding-10{padding:10px;}.raw-padding-15{padding:15px;}.raw-padding-20{padding:20px;}.raw-padding-25{padding:25px;}.raw-padding-30{padding:30px;}.raw-padding-35{padding:35px;}.raw-padding-40{padding:40px;}.raw-padding-45{padding:45px;}.raw-padding-50{padding:50px;}.raw-padding-55{padding:55px;}.raw-padding-60{padding:60px;}.raw-padding-65{padding:65px;}.raw-padding-70{padding:70px;}.raw-padding-75{padding:75px;}.raw-padding-80{padding:80px;}.raw-padding-85{padding:85px;}.raw-padding-90{padding:90px;}.raw-padding-95{padding:95px;}.raw-padding-100{padding:100px;}.raw-padding-105{padding:105px;}.raw-padding-110{padding:110px;}.raw-padding-115{padding:115px;}.raw-padding-120{padding:120px;}.raw-padding-125{padding:125px;}.raw-padding-130{padding:130px;}.raw-padding-135{padding:135px;}.raw-padding-140{padding:140px;}.raw-padding-145{padding:145px;}.raw-padding-150{padding:150px;}.raw-padding-155{padding:155px;}.raw-padding-160{padding:160px;}.raw-padding-165{padding:165px;}.raw-padding-170{padding:170px;}.raw-padding-175{padding:175px;}.raw-padding-180{padding:180px;}.raw-padding-185{padding:185px;}.raw-padding-190{padding:190px;}.raw-padding-195{padding:195px;}.raw-padding-200{padding:200px;}.raw-left{float:left;}.raw-right{float:right;}.raw-none{float:none;}.raw-pos-relative{position:relative;}.raw-pos-absolute{position:absolute;}.raw1{width:1%;}.raw2{width:2%;}.raw3{width:3%;}.raw4{width:4%;}.raw5{width:5%;}.raw6{width:6%;}.raw7{width:7%;}.raw8{width:8%;}.raw9{width:9%;}.raw10{width:10%;}.raw11{width:11%;}.raw12{width:12%;}.raw13{width:13%;}.raw14{width:14%;}.raw15{width:15%;}.raw16{width:16%;}.raw17{width:17%;}.raw18{width:18%;}.raw19{width:19%;}.raw20{width:20%;}.raw21{width:21%;}.raw22{width:22%;}.raw23{width:23%;}.raw24{width:24%;}.raw25{width:25%;}.raw26{width:26%;}.raw27{width:27%;}.raw28{width:28%;}.raw29{width:29%;}.raw30{width:30%;}.raw31{width:31%;}.raw32{width:32%;}.raw33{width:33%;}.raw34{width:34%;}.raw35{width:35%;}.raw36{width:36%;}.raw37{width:37%;}.raw38{width:38%;}.raw39{width:39%;}.raw40{width:40%;}.raw41{width:41%;}.raw42{width:42%;}.raw43{width:43%;}.raw44{width:44%;}.raw45{width:45%;}.raw46{width:46%;}.raw47{width:47%;}.raw48{width:48%;}.raw49{width:49%;}.raw50{width:50%;}.raw51{width:51%;}.raw52{width:52%;}.raw53{width:53%;}.raw54{width:54%;}.raw55{width:55%;}.raw56{width:56%;}.raw57{width:57%;}.raw58{width:58%;}.raw59{width:59%;}.raw60{width:60%;}.raw61{width:61%;}.raw62{width:62%;}.raw63{width:63%;}.raw64{width:64%;}.raw65{width:65%;}.raw66{width:66%;}.raw67{width:67%;}.raw68{width:68%;}.raw69{width:69%;}.raw70{width:70%;}.raw71{width:71%;}.raw72{width:72%;}.raw73{width:73%;}.raw74{width:74%;}.raw75{width:75%;}.raw76{width:76%;}.raw77{width:77%;}.raw78{width:78%;}.raw79{width:79%;}.raw80{width:80%;}.raw81{width:81%;}.raw82{width:82%;}.raw83{width:83%;}.raw84{width:84%;}.raw85{width:85%;}.raw86{width:86%;}.raw87{width:87%;}.raw88{width:88%;}.raw89{width:89%;}.raw90{width:90%;}.raw91{width:91%;}.raw92{width:92%;}.raw93{width:93%;}.raw94{width:94%;}.raw95{width:95%;}.raw96{width:96%;}.raw97{width:97%;}.raw98{width:98%;}.raw99{width:99%;}.raw100{width:100%;}

/*
|--------------------------------------------------------------------------
| Desktop
|--------------------------------------------------------------------------
*/

@media screen and (min-width: 984px) and (max-width: 1272px) {
    .raw-t-hide {
        display: block !important;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

@media screen and (max-width: 696px) {

    .raw-t-hide {
        display: hidden;
    }

    #mainNavbar {
        background-color: #333;
    }

    .raw-m-hide {
        display: none;
    }

    .raw-m-hide-important {
        display: none !important;
    }

    .sidebar-menu-btn {
        float: left !important;
        margin-left: 16px;
    }

    .navbar-brand {
        position: relative;
        margin-left: -45px;
        left: 25%;
    }

    .nav-open {
        display: inline;
    }

    .nav-close {
        display: none;
    }

}
/*
|--------------------------------------------------------------------------
| Gondolyn Custom Styles
|--------------------------------------------------------------------------
*/

html, body {
    width: 100%;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.text-centered {
    text-align: center;
}

.cms-footer {
    height: 60px;
    background-color: #222;
}

.cms-footer p, .cms-footer a {
    line-height: 60px;
    color: #FFF;
}

.cms-footer a:hover {
    color: #FFF;
}

.scrollable {
    overflow: scroll;
}

.tab-link {
    margin-top: 8px;
}

.header-input {
    width: 240px !important;
}

.main {
    padding-top: 24px;
    padding-left: 24px;
    padding-right: 24px;
}

.main h1 {
    margin-top: 0px;
}

.page-header {
    padding-bottom: 24px;
}

/*
|--------------------------------------------------------------------------
| Notifications
|--------------------------------------------------------------------------
*/

.cms-notification {
    width: 260px;
    min-height: 30px;
    position: fixed;
    z-index: 10000;
    right: -300px;
    top: 24px;
    display: none;
    padding: 8px 8px 0 8px;
}

.cms-notify {
    float: left;
    margin-left: 10px;
    width: 200px;
}

.cms-notify-closer {
    width: 20px;
    margin-left: 10px;
    float: left;
    line-height: 20px;
}

.cms-notify-closer-icon {
    cursor: pointer;
}

/*
|--------------------------------------------------------------------------
| User Manager
|--------------------------------------------------------------------------
*/

.user-row {
    height: 48px;
}

    .user-row a, .user-row p{
        line-height: 48px;
        padding-left: 8px;
    }

.user-row:nth-child(odd) {
    background: #EEE;
}

/*
|--------------------------------------------------------------------------
| Globals
|--------------------------------------------------------------------------
*/

textarea {
    resize: vertical;
}

.table-input {
    border: none;
    background-color: transparent;
}

    .table-input:focus {
        outline: 0;
        border-bottom: 1px solid #BBB;
    }

/*
|--------------------------------------------------------------------------
| Twitter Typeahead
|--------------------------------------------------------------------------
*/

span.twitter-typeahead {
    width: 100%;
}

.tt-menu {
    background-color: #FFF;
    border: 1px solid #DDD;
}

    .tt-suggestion {
        min-width: 200px;
        padding: 8px;
    }
        .tt-suggestion:hover {
            cursor: pointer;
            background-color: #222;
            color: #FFF;
        }

        .tt-suggestion:focus {
            text-decoration: underline;
        }

.navbar-header .back-link a, .navbar-header .back-link a:hover  {
    color: #EEE;
}

.navbar-nav {
    margin-right: 14px !important;
}

.list-row {
    margin-top: 12px;
}

.thumbnail-box {
    max-height: 90px;
    height: 90px;
    overflow: hidden;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.thumbnail-box .img {
    background-position: center center;
    background-size: cover;
    height: 100%;
    cursor: pointer;
}

.overflow-hidden {
    overflow: hidden;
}

.cms-errors li {
    list-style: none;
}

.profile-image {
    width: 100%;
    border-radius: 50%;
    overflow: hidden;
    margin: 48px auto;
    background-position: center center;
    background-size: cover;
}

.profile-image:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.sidebar-header {
    text-align: center;
    color: #EEE;
    background-color: #444;
    padding: 16px 0;
}

.cms-logo {
    background-color: #333;
    background-size: cover;
    background-position: center center;
    background-image: url('data:image/png;base64,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');
    position: relative;
    height: 51px;
    width: 60px;
    display: block;
    top: -15px;
    left: -15px;
    float: left
}

/*
|--------------------------------------------------------------------------
| Cms Styles
|--------------------------------------------------------------------------
*/

.image-listing {
    max-height: 300px;
}

.panel-help {
    height: auto !important;
}

.image-panel {
    height: 320px;
}

    .image-panel .thumbnail {
        overflow: hidden;
        text-align: center;
    }

    .image-panel .img {
        width: 100%;
        height: 200px;
        background-size: cover;
        background-position: center center;
    }

.table-form {
    width: calc(100% - 30px);
    margin-left: 15px;
    margin-right: 15px;
}

.bootstrap-tagsinput .tag {
    font-size: 100% !important;
    padding: 0.6em !important;
}

.navbar-toggle span {
    color: #FFF;
}

/*
|--------------------------------------------------------------------------
| Dashboard
|--------------------------------------------------------------------------
*/

.sub-header {
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}

/*
|--------------------------------------------------------------------------
| Menu Overlay
|-----------------
Download .txt
gitextract_hmjoo4u4/

├── .gitattributes
├── .github/
│   └── ISSUE_TEMPLATE/
│       └── bug_report.md
├── .gitignore
├── .travis.yml
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── changelog.md
├── composer.json
├── package.json
├── phpunit.xml
├── src/
│   ├── Assets/
│   │   ├── dist/
│   │   │   ├── css/
│   │   │   │   ├── all.css
│   │   │   │   ├── cms.css
│   │   │   │   └── vendor.css
│   │   │   ├── js/
│   │   │   │   ├── all.js
│   │   │   │   ├── cms.js
│   │   │   │   └── vendor.js
│   │   │   └── mix-manifest.json
│   │   ├── mimes.php
│   │   ├── src/
│   │   │   ├── js/
│   │   │   │   ├── cms.js
│   │   │   │   ├── dashboard-chart.js
│   │   │   │   ├── dashboard.js
│   │   │   │   ├── dropzone-custom.js
│   │   │   │   ├── forms.js
│   │   │   │   ├── modules.js
│   │   │   │   └── vendor/
│   │   │   │       ├── dropzone.js
│   │   │   │       └── typeahead.bundle.js
│   │   │   ├── sass/
│   │   │   │   ├── _base.scss
│   │   │   │   ├── _modules.scss
│   │   │   │   ├── _sidebar.scss
│   │   │   │   └── cms.scss
│   │   │   └── vendor/
│   │   │       ├── datepicker/
│   │   │       │   ├── bootstrap-datetimepicker-standalone.css
│   │   │       │   ├── bootstrap-datetimepicker.css
│   │   │       │   ├── moment-timezone.js
│   │   │       │   └── moment.js
│   │   │       ├── dropzone/
│   │   │       │   ├── basic.css
│   │   │       │   ├── dropzone-amd-module.js
│   │   │       │   ├── dropzone.css
│   │   │       │   ├── dropzone.js
│   │   │       │   └── readme.md
│   │   │       └── redactor/
│   │   │           ├── _langs/
│   │   │           │   ├── ar.js
│   │   │           │   ├── cs.js
│   │   │           │   ├── da.js
│   │   │           │   ├── de.js
│   │   │           │   ├── en.js
│   │   │           │   ├── es.js
│   │   │           │   ├── fa.js
│   │   │           │   ├── fi.js
│   │   │           │   ├── fr.js
│   │   │           │   ├── he.js
│   │   │           │   ├── hu.js
│   │   │           │   ├── it.js
│   │   │           │   ├── ja.js
│   │   │           │   ├── ko.js
│   │   │           │   ├── nl.js
│   │   │           │   ├── no.js
│   │   │           │   ├── pl.js
│   │   │           │   ├── pt_br.js
│   │   │           │   ├── ru.js
│   │   │           │   ├── sk.js
│   │   │           │   ├── sl.js
│   │   │           │   ├── sv.js
│   │   │           │   ├── tr.js
│   │   │           │   ├── zh_cn.js
│   │   │           │   └── zh_tw.js
│   │   │           ├── _plugins/
│   │   │           │   ├── alignment/
│   │   │           │   │   └── alignment.js
│   │   │           │   ├── beyondgrammar/
│   │   │           │   │   └── beyondgrammar.js
│   │   │           │   ├── clips/
│   │   │           │   │   ├── clips.css
│   │   │           │   │   └── clips.js
│   │   │           │   ├── counter/
│   │   │           │   │   └── counter.js
│   │   │           │   ├── definedlinks/
│   │   │           │   │   └── definedlinks.js
│   │   │           │   ├── filemanager/
│   │   │           │   │   ├── filemanager.css
│   │   │           │   │   └── filemanager.js
│   │   │           │   ├── fileselector/
│   │   │           │   │   └── fileselector.js
│   │   │           │   ├── fontcolor/
│   │   │           │   │   └── fontcolor.js
│   │   │           │   ├── fontfamily/
│   │   │           │   │   └── fontfamily.js
│   │   │           │   ├── fontsize/
│   │   │           │   │   └── fontsize.js
│   │   │           │   ├── fullscreen/
│   │   │           │   │   └── fullscreen.js
│   │   │           │   ├── handle/
│   │   │           │   │   ├── handle.css
│   │   │           │   │   └── handle.js
│   │   │           │   ├── imagemanager/
│   │   │           │   │   └── imagemanager.js
│   │   │           │   ├── imageselector/
│   │   │           │   │   └── imageselector.js
│   │   │           │   ├── inlinestyle/
│   │   │           │   │   ├── inlinestyle.css
│   │   │           │   │   └── inlinestyle.js
│   │   │           │   ├── limiter/
│   │   │           │   │   └── limiter.js
│   │   │           │   ├── properties/
│   │   │           │   │   └── properties.js
│   │   │           │   ├── specialchars/
│   │   │           │   │   └── specialchars.js
│   │   │           │   ├── stockimagemanager/
│   │   │           │   │   └── stockimagemanager.js
│   │   │           │   ├── table/
│   │   │           │   │   └── table.js
│   │   │           │   ├── textdirection/
│   │   │           │   │   └── textdirection.js
│   │   │           │   ├── textexpander/
│   │   │           │   │   └── textexpander.js
│   │   │           │   ├── variable/
│   │   │           │   │   ├── variable.css
│   │   │           │   │   └── variable.js
│   │   │           │   ├── video/
│   │   │           │   │   └── video.js
│   │   │           │   └── widget/
│   │   │           │       └── widget.js
│   │   │           ├── _scss/
│   │   │           │   ├── accessibility.scss
│   │   │           │   ├── animation.scss
│   │   │           │   ├── base.scss
│   │   │           │   ├── context.scss
│   │   │           │   ├── dropdown.scss
│   │   │           │   ├── fullscreen.scss
│   │   │           │   ├── icons.scss
│   │   │           │   ├── mixins.scss
│   │   │           │   ├── modal.scss
│   │   │           │   ├── placeholder.scss
│   │   │           │   ├── progress.scss
│   │   │           │   ├── redactor.scss
│   │   │           │   ├── source.scss
│   │   │           │   ├── statusbar.scss
│   │   │           │   ├── structure.scss
│   │   │           │   ├── styles.scss
│   │   │           │   ├── toolbar-air.scss
│   │   │           │   ├── toolbar.scss
│   │   │           │   ├── upload.scss
│   │   │           │   └── variables.scss
│   │   │           ├── redactor.css
│   │   │           └── redactor.js
│   │   └── themes/
│   │       ├── dark.css
│   │       └── standard.css
│   ├── Console/
│   │   ├── Keys.php
│   │   ├── ModuleComposer.php
│   │   ├── ModuleCrud.php
│   │   ├── ModuleMake.php
│   │   ├── ModulePublish.php
│   │   ├── ThemeGenerate.php
│   │   ├── ThemeLink.php
│   │   └── ThemePublish.php
│   ├── Controllers/
│   │   ├── ApiController.php
│   │   ├── AssetController.php
│   │   ├── BlogController.php
│   │   ├── DashboardController.php
│   │   ├── EventController.php
│   │   ├── FAQController.php
│   │   ├── FilesController.php
│   │   ├── GrafiteCmsController.php
│   │   ├── GrafiteCmsFeatureController.php
│   │   ├── HelpController.php
│   │   ├── ImagesController.php
│   │   ├── LinksController.php
│   │   ├── MenuController.php
│   │   ├── PagesController.php
│   │   ├── PromotionsController.php
│   │   ├── RssController.php
│   │   ├── SiteMapController.php
│   │   └── WidgetsController.php
│   ├── Facades/
│   │   ├── BlogServiceFacade.php
│   │   ├── CmsServiceFacade.php
│   │   ├── CryptoServiceFacade.php
│   │   ├── EventServiceFacade.php
│   │   ├── ModuleServiceFacade.php
│   │   └── PageServiceFacade.php
│   ├── GrafiteCmsProvider.php
│   ├── Helpers/
│   │   ├── blade.php
│   │   └── general.php
│   ├── Middleware/
│   │   └── GrafiteCmsAnalytics.php
│   ├── Migrations/
│   │   ├── 2015_07_03_133637_create_files_table.php
│   │   ├── 2015_09_29_193916_create_images_table.php
│   │   ├── 2015_09_29_211249_create_blogs_table.php
│   │   ├── 2015_10_03_021221_create_pages_table.php
│   │   ├── 2015_10_03_032000_create_widgets_table.php
│   │   ├── 2015_10_03_032005_create_archives_table.php
│   │   ├── 2015_10_12_195952_create_faqs_table.php
│   │   ├── 2015_10_12_196052_create_events_table.php
│   │   ├── 2015_10_28_174809_create_menus_table.php
│   │   ├── 2015_10_28_175046_create_links_table.php
│   │   ├── 2016_02_03_175046_add_tags_to_images.php
│   │   ├── 2016_02_03_185046_add_templates_to_pages.php
│   │   ├── 2016_03_20_185046_add_templates_to_blogs.php
│   │   ├── 2016_03_20_186046_add_templates_to_events.php
│   │   ├── 2016_06_01_002825_convert_to_published_at.php
│   │   ├── 2016_10_27_224359_create_translations_table.php
│   │   ├── 2016_12_11_034855_add_lang_to_translations_table.php
│   │   ├── 2017_01_11_132526_create_analytics_table.php
│   │   ├── 2017_06_10_234231_add_order_to_menus.php
│   │   ├── 2017_07_05_002825_add_blocks.php
│   │   ├── 2017_07_08_223935_add_entity_to_images.php
│   │   ├── 2017_12_14_045216_add_hero_images.php
│   │   └── 2018_08_24_191305_create_promotions_table.php
│   ├── Models/
│   │   ├── Analytics.php
│   │   ├── Archive.php
│   │   ├── Blog.php
│   │   ├── CmsModel.php
│   │   ├── Event.php
│   │   ├── FAQ.php
│   │   ├── File.php
│   │   ├── Image.php
│   │   ├── Link.php
│   │   ├── Menu.php
│   │   ├── Page.php
│   │   ├── Promotion.php
│   │   ├── Translation.php
│   │   └── Widget.php
│   ├── Providers/
│   │   ├── CmsEventServiceProvider.php
│   │   ├── CmsModuleProvider.php
│   │   ├── CmsRouteProvider.php
│   │   └── CmsServiceProvider.php
│   ├── PublishedAssets/
│   │   ├── Config/
│   │   │   └── cms.php
│   │   ├── Controllers/
│   │   │   ├── BlogController.php
│   │   │   ├── EventsController.php
│   │   │   ├── FaqController.php
│   │   │   ├── GalleryController.php
│   │   │   └── PagesController.php
│   │   ├── Middleware/
│   │   │   ├── GrafiteCms.php
│   │   │   ├── GrafiteCmsApi.php
│   │   │   └── GrafiteCmsLanguage.php
│   │   ├── Routes/
│   │   │   └── cms.php
│   │   ├── Setup/
│   │   │   └── resources/
│   │   │       └── views/
│   │   │           ├── admin/
│   │   │           │   ├── dashboard.blade.php
│   │   │           │   ├── roles/
│   │   │           │   │   ├── create.blade.php
│   │   │           │   │   ├── edit.blade.php
│   │   │           │   │   └── index.blade.php
│   │   │           │   └── users/
│   │   │           │       ├── edit.blade.php
│   │   │           │       ├── index.blade.php
│   │   │           │       └── invite.blade.php
│   │   │           ├── auth/
│   │   │           │   ├── activate/
│   │   │           │   │   ├── email.blade.php
│   │   │           │   │   └── token.blade.php
│   │   │           │   ├── login.blade.php
│   │   │           │   ├── passwords/
│   │   │           │   │   ├── email.blade.php
│   │   │           │   │   └── reset.blade.php
│   │   │           │   └── register.blade.php
│   │   │           ├── emails/
│   │   │           │   └── new-account.blade.php
│   │   │           ├── errors/
│   │   │           │   ├── 401.blade.php
│   │   │           │   ├── 404.blade.php
│   │   │           │   └── 503.blade.php
│   │   │           ├── partials/
│   │   │           │   ├── errors.blade.php
│   │   │           │   ├── message.blade.php
│   │   │           │   └── status.blade.php
│   │   │           └── user/
│   │   │               ├── meta.blade.php
│   │   │               ├── password.blade.php
│   │   │               └── settings.blade.php
│   │   ├── Theme/
│   │   │   └── resources/
│   │   │       └── themes/
│   │   │           └── themeTemplate/
│   │   │               ├── assets/
│   │   │               │   ├── js/
│   │   │               │   │   └── theme.js
│   │   │               │   └── sass/
│   │   │               │       ├── _basic.scss
│   │   │               │       └── _theme.scss
│   │   │               ├── blog/
│   │   │               │   ├── all.blade.php
│   │   │               │   ├── featured-template.blade.php
│   │   │               │   └── show.blade.php
│   │   │               ├── events/
│   │   │               │   ├── all.blade.php
│   │   │               │   ├── calendar.blade.php
│   │   │               │   ├── date.blade.php
│   │   │               │   ├── featured-template.blade.php
│   │   │               │   └── show.blade.php
│   │   │               ├── faqs/
│   │   │               │   └── all.blade.php
│   │   │               ├── gallery/
│   │   │               │   ├── all.blade.php
│   │   │               │   └── show.blade.php
│   │   │               ├── layout/
│   │   │               │   └── master.blade.php
│   │   │               ├── pages/
│   │   │               │   ├── all.blade.php
│   │   │               │   ├── featured-template.blade.php
│   │   │               │   ├── home.blade.php
│   │   │               │   ├── markdown-template.blade.php
│   │   │               │   └── show.blade.php
│   │   │               └── partials/
│   │   │                   ├── main-menu.blade.php
│   │   │                   └── navigation.blade.php
│   │   └── Views/
│   │       └── themes/
│   │           └── default/
│   │               ├── assets/
│   │               │   ├── js/
│   │               │   │   └── theme.js
│   │               │   └── sass/
│   │               │       ├── _basic.scss
│   │               │       ├── _patterns.scss
│   │               │       └── _theme.scss
│   │               ├── blog/
│   │               │   ├── all.blade.php
│   │               │   ├── featured-template.blade.php
│   │               │   └── show.blade.php
│   │               ├── events/
│   │               │   ├── all.blade.php
│   │               │   ├── calendar.blade.php
│   │               │   ├── date.blade.php
│   │               │   ├── featured-template.blade.php
│   │               │   └── show.blade.php
│   │               ├── faqs/
│   │               │   └── all.blade.php
│   │               ├── gallery/
│   │               │   ├── all.blade.php
│   │               │   └── show.blade.php
│   │               ├── layout/
│   │               │   └── master.blade.php
│   │               ├── pages/
│   │               │   ├── all.blade.php
│   │               │   ├── featured-template.blade.php
│   │               │   ├── home.blade.php
│   │               │   ├── markdown-template.blade.php
│   │               │   └── show.blade.php
│   │               └── partials/
│   │                   ├── main-menu.blade.php
│   │                   └── navigation.blade.php
│   ├── Repositories/
│   │   ├── BlogRepository.php
│   │   ├── CmsRepository.php
│   │   ├── EventRepository.php
│   │   ├── FAQRepository.php
│   │   ├── FileRepository.php
│   │   ├── ImageRepository.php
│   │   ├── LinkRepository.php
│   │   ├── MenuRepository.php
│   │   ├── PageRepository.php
│   │   ├── PromotionRepository.php
│   │   ├── TranslationRepository.php
│   │   └── WidgetRepository.php
│   ├── Requests/
│   │   ├── BlogRequest.php
│   │   ├── EventRequest.php
│   │   ├── FAQRequest.php
│   │   ├── FileRequest.php
│   │   ├── ImagesRequest.php
│   │   ├── LinksRequest.php
│   │   ├── MenuRequest.php
│   │   ├── PagesRequest.php
│   │   ├── PromotionRequest.php
│   │   └── WidgetRequest.php
│   ├── Routes/
│   │   ├── api.php
│   │   └── web.php
│   ├── Services/
│   │   ├── AnalyticsService.php
│   │   ├── AssetService.php
│   │   ├── BaseService.php
│   │   ├── BlogService.php
│   │   ├── CmsResponseService.php
│   │   ├── CmsService.php
│   │   ├── CryptoService.php
│   │   ├── EventService.php
│   │   ├── FileService.php
│   │   ├── ModuleService.php
│   │   ├── Normalizer.php
│   │   ├── PageService.php
│   │   ├── Traits/
│   │   │   ├── DefaultModuleServiceTrait.php
│   │   │   ├── MenuServiceTrait.php
│   │   │   └── ModuleServiceTrait.php
│   │   └── ValidationService.php
│   ├── Templates/
│   │   ├── AppBasic/
│   │   │   ├── Controller.txt
│   │   │   ├── Routes.txt
│   │   │   └── Views/
│   │   │       └── index.blade.txt
│   │   ├── AppCRUD/
│   │   │   ├── Controller.txt
│   │   │   ├── Routes.txt
│   │   │   └── Views/
│   │   │       ├── all.blade.txt
│   │   │       └── show.blade.txt
│   │   ├── Basic/
│   │   │   ├── Controller.txt
│   │   │   ├── Provider.txt
│   │   │   ├── Routes.txt
│   │   │   ├── Service.txt
│   │   │   └── Views/
│   │   │       ├── breadcrumbs.blade.txt
│   │   │       └── index.blade.txt
│   │   ├── CRUD/
│   │   │   ├── Controller.txt
│   │   │   ├── CreateRequest.txt
│   │   │   ├── ExtendedService.txt
│   │   │   ├── Facade.txt
│   │   │   ├── Factory.txt
│   │   │   ├── Model.txt
│   │   │   ├── Models/
│   │   │   │   └── Model.txt
│   │   │   ├── Provider.txt
│   │   │   ├── Routes.txt
│   │   │   ├── Service.txt
│   │   │   ├── Tests/
│   │   │   │   ├── Feature/
│   │   │   │   │   └── AcceptanceTest.txt
│   │   │   │   └── Unit/
│   │   │   │       └── ServiceTest.txt
│   │   │   ├── UpdateRequest.txt
│   │   │   └── Views/
│   │   │       ├── breadcrumbs.blade.txt
│   │   │       ├── create.blade.txt
│   │   │       ├── edit.blade.txt
│   │   │       └── index.blade.txt
│   │   └── Composer/
│   │       ├── composer.stub
│   │       └── readme.stub
│   ├── Traits/
│   │   └── Translatable.php
│   └── Views/
│       ├── dashboard/
│       │   ├── analytics-google.blade.php
│       │   ├── analytics-internal.blade.php
│       │   ├── empty.blade.php
│       │   ├── main.blade.php
│       │   └── panel.blade.php
│       ├── help.blade.php
│       ├── layouts/
│       │   ├── blank.blade.php
│       │   ├── dashboard.blade.php
│       │   ├── master.blade.php
│       │   ├── module-header.blade.php
│       │   ├── module-search.blade.php
│       │   ├── navigation.blade.php
│       │   ├── notifications.blade.php
│       │   └── tabs.blade.php
│       ├── modules/
│       │   ├── blocks.blade.php
│       │   ├── blogs/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── history.blade.php
│       │   │   └── index.blade.php
│       │   ├── events/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── history.blade.php
│       │   │   └── index.blade.php
│       │   ├── faqs/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── files/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── index.blade.php
│       │   │   └── menu.blade.php
│       │   ├── images/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── links/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── menus/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   ├── pages/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   ├── history.blade.php
│       │   │   └── index.blade.php
│       │   ├── promotions/
│       │   │   ├── breadcrumbs.blade.php
│       │   │   ├── create.blade.php
│       │   │   ├── edit.blade.php
│       │   │   └── index.blade.php
│       │   └── widgets/
│       │       ├── breadcrumbs.blade.php
│       │       ├── create.blade.php
│       │       ├── edit.blade.php
│       │       └── index.blade.php
│       ├── notifications.blade.php
│       ├── rss.blade.php
│       └── site-map.blade.php
├── tests/
│   ├── .gitkeep
│   ├── Console/
│   │   └── ModuleMakeTest.php
│   ├── Feature/
│   │   ├── BlogTest.php
│   │   ├── DashboardTest.php
│   │   ├── EventsTest.php
│   │   ├── FAQTest.php
│   │   ├── FilesTest.php
│   │   ├── ImagesTest.php
│   │   ├── LinksTest.php
│   │   ├── MenuTest.php
│   │   ├── PagesTest.php
│   │   ├── PromotionsTest.php
│   │   └── WidgetsTest.php
│   ├── Services/
│   │   ├── AssetServiceTest.php
│   │   ├── BlogServiceTest.php
│   │   ├── CmsServiceTest.php
│   │   ├── CryptoServiceTest.php
│   │   ├── EventServiceTest.php
│   │   ├── NormalizerTest.php
│   │   └── PageServiceTest.php
│   ├── TestCase.php
│   ├── factories/
│   │   ├── BlogFactory.php
│   │   ├── EventFactory.php
│   │   ├── FAQFactory.php
│   │   ├── FileFactory.php
│   │   ├── ImageFactory.php
│   │   ├── LinkFactory.php
│   │   ├── MenuFactory.php
│   │   ├── PageFactory.php
│   │   ├── PromotionFactory.php
│   │   └── WidgetFactory.php
│   └── fixtures/
│       └── test-file.txt
└── webpack.mix.js
Download .txt
SYMBOL INDEX (1439 symbols across 157 files)

FILE: src/Assets/dist/js/all.js
  function cmsNotify (line 56) | function cmsNotify(message, _type) {
  function _urlPrepare (line 150) | function _urlPrepare (title) {
  function _setDashboard (line 185) | function _setDashboard () {
  function confirmDelete (line 296) | function confirmDelete (url) {

FILE: src/Assets/dist/js/cms.js
  function cmsNotify (line 1) | function cmsNotify(e,t){$(".cms-notification").css("display","block"),$(...
  function confirmDelete (line 1) | function confirmDelete(e){$("#deleteBtn").attr("href",e),$("#deleteModal...
  function e (line 1) | function e(e){return e.replace(/[^\w\s]/gi,"").replace(/ /g,"-").toLower...

FILE: src/Assets/dist/js/vendor.js
  function n (line 1) | function n(t,e){return i(e,t)}
  function i (line 1) | function i(){return String(e)}
  function t (line 1) | function t(t){return t=e.toStr(t),t?t.split(/\s+/):[]}
  function i (line 1) | function i(t){return t=e.toStr(t),t?t.split(/\W+/):[]}
  function n (line 1) | function n(t){return function(i){return i=e.isArray(i)?i:[].slice.call(a...
  function i (line 1) | function i(i){this.maxSize=e.isNumber(i)?i:100,this.reset(),this.maxSize...
  function n (line 1) | function n(){this.head=this.tail=null}
  function o (line 1) | function o(t,e){this.key=t,this.val=e,this.prev=this.next=null}
  function i (line 1) | function i(t,i){this.prefix=["__",t,"__"].join(""),this.ttlKey="__ttl__"...
  function n (line 1) | function n(){return(new Date).getTime()}
  function o (line 1) | function o(t){return JSON.stringify(e.isUndefined(t)?null:t)}
  function s (line 1) | function s(e){return t.parseJSON(e)}
  function r (line 1) | function r(t){var e,i,n=[],o=a.length;for(e=0;e<o;e++)(i=a.key(e)).match...
  function i (line 1) | function i(t){t=t||{},this.cancelled=!1,this.lastReq=null,this._send=t.t...
  function i (line 1) | function i(t){e(null,t),d._cache.set(c,t)}
  function o (line 1) | function o(){e(!0)}
  function a (line 1) | function a(){n--,delete s[c],d.onDeckRequestArgs&&(d._get.apply(d,d.onDe...
  function i (line 1) | function i(i){i=i||{},i.datumTokenizer&&i.queryTokenizer||t.error("datum...
  function n (line 1) | function n(t){return t=e.filter(t,function(t){return!!t}),t=e.map(t,func...
  function o (line 1) | function o(){var t={};return t[c]=[],t[a]={},t}
  function s (line 1) | function s(t){for(var e={},i=[],n=0,o=t.length;n<o;n++)e[t[n]]||(e[t[n]]...
  function r (line 1) | function r(t,e){var i=0,n=0,o=[];t=t.sort(),e=e.sort();for(var s=t.lengt...
  function t (line 1) | function t(t){this.url=t.url,this.ttl=t.ttl,this.cache=t.cache,this.prep...
  function e (line 1) | function e(){t(!0)}
  function i (line 1) | function i(e){t(null,o.transform(e))}
  function t (line 1) | function t(t){this.url=t.url,this.prepare=t.prepare,this.transform=t.tra...
  function i (line 1) | function i(t,i){e(t?[]:o.transform(i))}
  function n (line 1) | function n(n){var o;return n?(o={url:null,ttl:864e5,cache:!0,cacheKey:nu...
  function o (line 1) | function o(i){var n;if(i)return n={url:null,cache:!0,prepare:null,replac...
  function s (line 1) | function s(t){function e(t,e){return e.url=s(e.url,t),e}function i(t,e){...
  function r (line 1) | function r(t){var i,n,o;return i=t.limiter,n=t.rateLimitBy,o=t.rateLimit...
  function a (line 1) | function a(i){return function(n){function o(t){e.defer(function(){r.reso...
  function i (line 1) | function i(t){t=d(t),this.sorter=t.sorter,this.identify=t.identify,this....
  function t (line 1) | function t(t,e,n){return i.search(t,e,n)}
  function e (line 1) | function e(t,e){return i.search(t,e)}
  function e (line 1) | function e(t,e){if(t)return i.reject();o.add(e),o.prefetch.store(o.index...
  function t (line 1) | function t(){e.add(e.local)}
  function o (line 1) | function o(t){var i=[];e.each(t,function(t){!e.some(s,function(e){return...
  function n (line 1) | function n(t,e){return i(e,t)}
  function i (line 1) | function i(){return String(e)}
  function t (line 1) | function t(t){var r,a;return a=e.mixin({},s,t),r={css:o(),classes:a,html...
  function i (line 1) | function i(t){return{wrapper:'<span class="'+t.wrapper+'"></span>',menu:...
  function n (line 1) | function n(t){var i={};return e.each(t,function(t,e){i[e]="."+t}),i}
  function o (line 1) | function o(){var t={wrapper:{position:"relative",display:"inline-block"}...
  function i (line 1) | function i(e){e&&e.el||t.error("EventBus initialized without el"),this.$...
  function t (line 1) | function t(t,e,i,n){var o;if(!i)return this;for(e=e.split(a),i=n?r(i,n):...
  function e (line 1) | function e(e,i,n){return t.call(this,"async",e,i,n)}
  function i (line 1) | function i(e,i,n){return t.call(this,"sync",e,i,n)}
  function n (line 1) | function n(t){var e;if(!this._callbacks)return this;for(t=t.split(a);e=t...
  function o (line 1) | function o(t){var e,i,n,o,r;if(!this._callbacks)return this;for(t=t.spli...
  function s (line 1) | function s(t,e,i){function n(){for(var n,o=0,s=t.length;!n&&o<s;o+=1)n=!...
  function r (line 1) | function r(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.ca...
  function i (line 1) | function i(t,i,n){for(var o,s=[],r=0,a=t.length;r<a;r++)s.push(e.escapeR...
  function s (line 1) | function s(e){var i,n,s;return(i=a.exec(e.data))&&(s=t.createElement(o.t...
  function r (line 1) | function r(t,e){for(var i,n=0;n<t.childNodes.length;n++)i=t.childNodes[n...
  function i (line 1) | function i(i,o){i=i||{},i.input||t.error("input is missing"),o.mixin(thi...
  function n (line 1) | function n(e){return t('<pre aria-hidden="true"></pre>').css({position:"...
  function s (line 1) | function s(t,e){return i.normalizeQuery(t)===i.normalizeQuery(e)}
  function r (line 1) | function r(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}
  function i (line 1) | function i(i,o){i=i||{},i.templates=i.templates||{},i.templates.notFound...
  function n (line 1) | function n(t){function i(e){return e[t]}return t=t||e.stringify,e.isFunc...
  function r (line 1) | function r(i,n){function o(e){return t("<div>").text(n(e))}return{notFou...
  function a (line 1) | function a(t){return/^[_a-zA-Z0-9-]+$/.test(t)}
  function i (line 1) | function i(t){r||(r=!0,t=(t||[]).slice(0,o.limit),a=t.length,o._overwrit...
  function n (line 1) | function n(i){i=i||[],!s&&a<o.limit&&(o.cancel=t.noop,a+=i.length,o._app...
  function i (line 1) | function i(i,n){function o(e){var i=s.$node.find(e.node).first();return ...
  function t (line 1) | function t(t){return t.isEmpty()}
  function i (line 1) | function i(e){e.update(t)}
  function t (line 1) | function t(t){t.clear()}
  function i (line 1) | function i(t){t.destroy()}
  function t (line 1) | function t(){c.apply(this,[].slice.call(arguments,0))}
  function i (line 1) | function i(i,o){var s,r,a,c,l,d,p,u,h,f,M;i=i||{},i.input||t.error("miss...
  function n (line 1) | function n(t){var i=[].slice.call(arguments,1);return function(){var n=[...
  function o (line 2) | function o(e,i){e.each(function(){var e,n=t(this);(e=n.data(M.typeahead)...
  function s (line 2) | function s(t,e){return t.clone().addClass(e.classes.hint).removeData().c...
  function a (line 2) | function a(t,e){t.data(M.attrs,{dir:t.attr("dir"),autocomplete:t.attr("a...
  function p (line 2) | function p(t){return{backgroundAttachment:t.css("background-attachment")...
  function u (line 2) | function u(t){var i,n;i=t.data(M.www),n=t.parent().filter(i.selectors.wr...
  function h (line 2) | function h(i){var n,o;return n=e.isJQuery(i)||e.isElement(i),o=n?t(i).fi...
  function u (line 2) | function u(){var i,u,m,b,g,v,A,z,y,_,L;e.each(p,function(t){t.highlight=...
  function e (line 2) | function e(e,i){this.itemsArray=[],this.$element=t(e),this.$element.hide...
  function i (line 2) | function i(t,e){if("function"!=typeof t[e]){var i=t[e];t[e]=function(t){...
  function n (line 2) | function n(t,e){if("function"!=typeof t[e]){var i=t[e];t[e]=function(){r...
  function o (line 2) | function o(t){return t?c.text(t).html():""}
  function s (line 2) | function s(t){var e=0;if(document.selection){t.focus();var i=document.se...
  function r (line 2) | function r(e,i){var n=!1;return t.each(i,function(t,i){if("number"==type...
  function n (line 2) | function n(t){for(var e=[],n=0;n<t.length;n++){var r=o.options.itemText(...
  function t (line 2) | function t(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` ...
  function e (line 2) | function e(t,e){"clone"!==t.lastPullMode&&(e=!0),O&&O.state!==e&&(c(O,"d...
  function i (line 2) | function i(t,e,i){if(t){i=i||Y;do{if(">*"===e&&t.parentNode===i||b(t,e))...
  function n (line 2) | function n(t){var e=t.host;return e&&e.nodeType?e:t.parentNode}
  function o (line 2) | function o(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.preve...
  function s (line 2) | function s(t,e,i){t.addEventListener(e,i,Q)}
  function r (line 2) | function r(t,e,i){t.removeEventListener(e,i,Q)}
  function a (line 2) | function a(t,e,i){if(t)if(t.classList)t.classList[i?"add":"remove"](e);e...
  function c (line 2) | function c(t,e,i){var n=t&&t.style;if(n){if(void 0===i)return Y.defaultV...
  function l (line 2) | function l(t,e,i){if(t){var n=t.getElementsByTagName(e),o=0,s=n.length;i...
  function d (line 2) | function d(t,e,i,n,o,s,r){t=t||e[j];var a=Y.createEvent("Event"),c=t.opt...
  function p (line 2) | function p(t,e,i,n,o,s,r,a){var c,l,d=t[j],p=d.options.onMove;return c=Y...
  function u (line 2) | function u(t){t.draggable=!1}
  function h (line 2) | function h(){tt=!1}
  function f (line 2) | function f(t,e){var i=t.lastElementChild,n=i.getBoundingClientRect();ret...
  function M (line 2) | function M(t){for(var e=t.tagName+t.className+t.src+t.href+t.textContent...
  function m (line 2) | function m(t,e){var i=0;if(!t||!t.parentNode)return-1;for(;t&&(t=t.previ...
  function b (line 2) | function b(t,e){if(t){e=e.split(".");var i=e.shift().toUpperCase(),n=new...
  function g (line 2) | function g(t,e){var i,n;return function(){void 0===i&&(i=arguments,n=thi...
  function v (line 2) | function v(t,e){if(t&&e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);...
  function A (line 2) | function A(t){return V?V(t).clone(!0)[0]:G&&G.dom?G.dom(t).cloneNode(!0)...
  function z (line 2) | function z(t){for(var e=t.getElementsByTagName("input"),i=e.length;i--;)...
  function e (line 2) | function e(t,e){return void 0!==t&&!0!==t||(t=i.name),"function"==typeof...
  function i (line 2) | function i(){this.constructor=t}
  function t (line 2) | function t(){}
  function i (line 3) | function i(t,e){var o,s,r;if(this.element=t,this.version=i.version,this....
  function t (line 4) | function t(){return gn.apply(null,arguments)}
  function e (line 4) | function e(t){return t instanceof Array||"[object Array]"===Object.proto...
  function i (line 4) | function i(t){return null!=t&&"[object Object]"===Object.prototype.toStr...
  function n (line 4) | function n(t){var e;for(e in t)return!1;return!0}
  function o (line 4) | function o(t){return void 0===t}
  function s (line 4) | function s(t){return"number"==typeof t||"[object Number]"===Object.proto...
  function r (line 4) | function r(t){return t instanceof Date||"[object Date]"===Object.prototy...
  function a (line 4) | function a(t,e){var i,n=[];for(i=0;i<t.length;++i)n.push(e(t[i],i));retu...
  function c (line 4) | function c(t,e){return Object.prototype.hasOwnProperty.call(t,e)}
  function l (line 4) | function l(t,e){for(var i in e)c(e,i)&&(t[i]=e[i]);return c(e,"toString"...
  function d (line 4) | function d(t,e,i,n){return be(t,e,i,n,!0).utc()}
  function p (line 4) | function p(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,...
  function u (line 4) | function u(t){return null==t._pf&&(t._pf=p()),t._pf}
  function h (line 4) | function h(t){if(null==t._isValid){var e=u(t),i=An.call(e.parsedDatePart...
  function f (line 4) | function f(t){var e=d(NaN);return null!=t?l(u(e),t):u(e).userInvalidated...
  function M (line 4) | function M(t,e){var i,n,s;if(o(e._isAMomentObject)||(t._isAMomentObject=...
  function m (line 4) | function m(e){M(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),...
  function b (line 4) | function b(t){return t instanceof m||null!=t&&null!=t._isAMomentObject}
  function g (line 4) | function g(t){return t<0?Math.ceil(t)||0:Math.floor(t)}
  function v (line 4) | function v(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=g(e)),i}
  function A (line 4) | function A(t,e,i){var n,o=Math.min(t.length,e.length),s=Math.abs(t.lengt...
  function z (line 4) | function z(e){!1===t.suppressDeprecationWarnings&&"undefined"!=typeof co...
  function y (line 4) | function y(e,i){var n=!0;return l(function(){if(null!=t.deprecationHandl...
  function _ (line 4) | function _(e,i){null!=t.deprecationHandler&&t.deprecationHandler(e,i),_n...
  function L (line 4) | function L(t){return t instanceof Function||"[object Function]"===Object...
  function O (line 4) | function O(t){var e,i;for(i in t)e=t[i],L(e)?this[i]=e:this["_"+i]=e;thi...
  function N (line 4) | function N(t,e){var n,o=l({},t);for(n in e)c(e,n)&&(i(t[n])&&i(e[n])?(o[...
  function T (line 4) | function T(t){null!=t&&this.set(t)}
  function q (line 4) | function q(t,e,i){var n=this._calendar[t]||this._calendar.sameElse;retur...
  function C (line 4) | function C(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toU...
  function W (line 4) | function W(){return this._invalidDate}
  function w (line 4) | function w(t){return this._ordinal.replace("%d",t)}
  function B (line 4) | function B(t,e,i,n){var o=this._relativeTime[i];return L(o)?o(t,e,i,n):o...
  function E (line 4) | function E(t,e){var i=this._relativeTime[t>0?"future":"past"];return L(i...
  function S (line 4) | function S(t,e){var i=t.toLowerCase();wn[i]=wn[i+"s"]=wn[e]=t}
  function k (line 4) | function k(t){return"string"==typeof t?wn[t]||wn[t.toLowerCase()]:void 0}
  function x (line 4) | function x(t){var e,i,n={};for(i in t)c(t,i)&&(e=k(i))&&(n[e]=t[i]);retu...
  function R (line 4) | function R(t,e){Bn[t]=e}
  function X (line 4) | function X(t){var e=[];for(var i in t)e.push({unit:i,priority:Bn[i]});re...
  function D (line 4) | function D(e,i){return function(n){return null!=n?(I(this,e,n),t.updateO...
  function $ (line 4) | function $(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}
  function I (line 4) | function I(t,e,i){t.isValid()&&t._d["set"+(t._isUTC?"UTC":"")+e](i)}
  function P (line 4) | function P(t){return t=k(t),L(this[t])?this[t]():this}
  function F (line 4) | function F(t,e){if("object"==typeof t){t=x(t);for(var i=X(t),n=0;n<i.len...
  function H (line 4) | function H(t,e,i){var n=""+Math.abs(t),o=e-n.length;return(t>=0?i?"+":""...
  function j (line 4) | function j(t,e,i,n){var o=n;"string"==typeof n&&(o=function(){return thi...
  function U (line 4) | function U(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.repl...
  function Y (line 4) | function Y(t){var e,i,n=t.match(En);for(e=0,i=n.length;e<i;e++)xn[n[e]]?...
  function K (line 4) | function K(t,e){return t.isValid()?(e=V(e,t.localeData()),kn[e]=kn[e]||Y...
  function V (line 4) | function V(t,e){function i(t){return e.longDateFormat(t)||t}var n=5;for(...
  function G (line 4) | function G(t,e,i){to[t]=L(e)?e:function(t,n){return t&&i?i:e}}
  function Q (line 4) | function Q(t,e){return c(to,t)?to[t](e._strict,e._locale):new RegExp(J(t))}
  function J (line 4) | function J(t){return Z(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]...
  function Z (line 4) | function Z(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}
  function tt (line 4) | function tt(t,e){var i,n=e;for("string"==typeof t&&(t=[t]),s(e)&&(n=func...
  function et (line 4) | function et(t,e){tt(t,function(t,i,n,o){n._w=n._w||{},e(t,n._w,n,o)})}
  function it (line 4) | function it(t,e,i){null!=e&&c(eo,t)&&eo[t](e,i._a,i,t)}
  function nt (line 4) | function nt(t,e){return new Date(Date.UTC(t,e+1,0)).getUTCDate()}
  function ot (line 4) | function ot(t,i){return t?e(this._months)?this._months[t.month()]:this._...
  function st (line 4) | function st(t,i){return t?e(this._monthsShort)?this._monthsShort[t.month...
  function rt (line 4) | function rt(t,e,i){var n,o,s,r=t.toLocaleLowerCase();if(!this._monthsPar...
  function at (line 4) | function at(t,e,i){var n,o,s;if(this._monthsParseExact)return rt.call(th...
  function ct (line 4) | function ct(t,e){var i;if(!t.isValid())return t;if("string"==typeof e)if...
  function lt (line 4) | function lt(e){return null!=e?(ct(this,e),t.updateOffset(this,!0),this):...
  function dt (line 4) | function dt(){return nt(this.year(),this.month())}
  function pt (line 4) | function pt(t){return this._monthsParseExact?(c(this,"_monthsRegex")||ht...
  function ut (line 4) | function ut(t){return this._monthsParseExact?(c(this,"_monthsRegex")||ht...
  function ht (line 4) | function ht(){function t(t,e){return e.length-t.length}var e,i,n=[],o=[]...
  function ft (line 4) | function ft(t){return Mt(t)?366:365}
  function Mt (line 4) | function Mt(t){return t%4==0&&t%100!=0||t%400==0}
  function mt (line 4) | function mt(){return Mt(this.year())}
  function bt (line 4) | function bt(t,e,i,n,o,s,r){var a=new Date(t,e,i,n,o,s,r);return t<100&&t...
  function gt (line 4) | function gt(t){var e=new Date(Date.UTC.apply(null,arguments));return t<1...
  function vt (line 4) | function vt(t,e,i){var n=7+e-i;return-(7+gt(t,0,n).getUTCDay()-e)%7+n-1}
  function At (line 4) | function At(t,e,i,n,o){var s,r,a=(7+i-n)%7,c=vt(t,n,o),l=1+7*(e-1)+a+c;r...
  function zt (line 4) | function zt(t,e,i){var n,o,s=vt(t.year(),e,i),r=Math.floor((t.dayOfYear(...
  function yt (line 4) | function yt(t,e,i){var n=vt(t,e,i),o=vt(t+1,e,i);return(ft(t)-n+o)/7}
  function _t (line 4) | function _t(t){return zt(t,this._week.dow,this._week.doy).week}
  function Lt (line 4) | function Lt(){return this._week.dow}
  function Ot (line 4) | function Ot(){return this._week.doy}
  function Nt (line 4) | function Nt(t){var e=this.localeData().week(this);return null==t?e:this....
  function Tt (line 4) | function Tt(t){var e=zt(this,1,4).week;return null==t?e:this.add(7*(t-e)...
  function qt (line 4) | function qt(t,e){return"string"!=typeof t?t:isNaN(t)?(t=e.weekdaysParse(...
  function Ct (line 4) | function Ct(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(...
  function Wt (line 4) | function Wt(t,i){return t?e(this._weekdays)?this._weekdays[t.day()]:this...
  function wt (line 4) | function wt(t){return t?this._weekdaysShort[t.day()]:this._weekdaysShort}
  function Bt (line 4) | function Bt(t){return t?this._weekdaysMin[t.day()]:this._weekdaysMin}
  function Et (line 4) | function Et(t,e,i){var n,o,s,r=t.toLocaleLowerCase();if(!this._weekdaysP...
  function St (line 4) | function St(t,e,i){var n,o,s;if(this._weekdaysParseExact)return Et.call(...
  function kt (line 4) | function kt(t){if(!this.isValid())return null!=t?this:NaN;var e=this._is...
  function xt (line 4) | function xt(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.da...
  function Rt (line 4) | function Rt(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){va...
  function Xt (line 4) | function Xt(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")...
  function Dt (line 4) | function Dt(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")...
  function $t (line 4) | function $t(t){return this._weekdaysParseExact?(c(this,"_weekdaysRegex")...
  function It (line 4) | function It(){function t(t,e){return e.length-t.length}var e,i,n,o,s,r=[...
  function Pt (line 4) | function Pt(){return this.hours()%12||12}
  function Ft (line 4) | function Ft(){return this.hours()||24}
  function Ht (line 4) | function Ht(t,e){j(t,0,0,function(){return this.localeData().meridiem(th...
  function jt (line 4) | function jt(t,e){return e._meridiemParse}
  function Ut (line 4) | function Ut(t){return"p"===(t+"").toLowerCase().charAt(0)}
  function Yt (line 4) | function Yt(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}
  function Kt (line 4) | function Kt(t){return t?t.toLowerCase().replace("_","-"):t}
  function Vt (line 4) | function Vt(t){for(var e,i,n,o,s=0;s<t.length;){for(o=Kt(t[s]).split("-"...
  function Gt (line 4) | function Gt(t){var e=null;if(!Wo[t]&&"undefined"!=typeof module&&module&...
  function Qt (line 4) | function Qt(t,e){var i;return t&&(i=o(e)?te(t):Jt(t,e))&&(No=i),No._abbr}
  function Jt (line 4) | function Jt(t,e){if(null!==e){var i=Co;if(e.abbr=t,null!=Wo[t])_("define...
  function Zt (line 4) | function Zt(t,e){if(null!=e){var i,n=Co;null!=Wo[t]&&(n=Wo[t]._config),e...
  function te (line 4) | function te(t){var i;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abb...
  function ee (line 4) | function ee(){return Nn(Wo)}
  function ie (line 4) | function ie(t){var e,i=t._a;return i&&-2===u(t).overflow&&(e=i[no]<0||i[...
  function ne (line 4) | function ne(t){var e,i,n,o,s,r,a=t._i,c=Bo.exec(a)||Eo.exec(a);if(c){for...
  function oe (line 4) | function oe(t){var e,i,n,o,s,r,a,c,l={" GMT":" +0000"," EDT":" -0400"," ...
  function se (line 4) | function se(e){var i=Ro.exec(e._i);return null!==i?void(e._d=new Date(+i...
  function re (line 4) | function re(t,e,i){return null!=t?t:null!=e?e:i}
  function ae (line 4) | function ae(e){var i=new Date(t.now());return e._useUTC?[i.getUTCFullYea...
  function ce (line 4) | function ce(t){var e,i,n,o,s=[];if(!t._d){for(n=ae(t),t._w&&null==t._a[o...
  function le (line 4) | function le(t){var e,i,n,o,s,r,a,c;if(e=t._w,null!=e.GG||null!=e.W||null...
  function de (line 4) | function de(e){if(e._f===t.ISO_8601)return void ne(e);if(e._f===t.RFC_28...
  function pe (line 4) | function pe(t,e,i){var n;return null==i?e:null!=t.meridiemHour?t.meridie...
  function ue (line 4) | function ue(t){var e,i,n,o,s;if(0===t._f.length)return u(t).invalidForma...
  function he (line 4) | function he(t){if(!t._d){var e=x(t._i);t._a=a([e.year,e.month,e.day||e.d...
  function fe (line 4) | function fe(t){var e=new m(ie(Me(t)));return e._nextDay&&(e.add(1,"d"),e...
  function Me (line 4) | function Me(t){var i=t._i,n=t._f;return t._locale=t._locale||te(t._l),nu...
  function me (line 4) | function me(n){var c=n._i;o(c)?n._d=new Date(t.now()):r(c)?n._d=new Date...
  function be (line 4) | function be(t,o,s,r,a){var c={};return!0!==s&&!1!==s||(r=s,s=void 0),(i(...
  function ge (line 4) | function ge(t,e,i,n){return be(t,e,i,n,!1)}
  function ve (line 4) | function ve(t,i){var n,o;if(1===i.length&&e(i[0])&&(i=i[0]),!i.length)re...
  function Ae (line 4) | function Ae(){return ve("isBefore",[].slice.call(arguments,0))}
  function ze (line 4) | function ze(){return ve("isAfter",[].slice.call(arguments,0))}
  function ye (line 4) | function ye(t){for(var e in t)if(-1===Po.indexOf(e)||null!=t[e]&&isNaN(t...
  function _e (line 4) | function _e(){return this._isValid}
  function Le (line 4) | function Le(){return Fe(NaN)}
  function Oe (line 4) | function Oe(t){var e=x(t),i=e.year||0,n=e.quarter||0,o=e.month||0,s=e.we...
  function Ne (line 4) | function Ne(t){return t instanceof Oe}
  function Te (line 4) | function Te(t){return t<0?-1*Math.round(-1*t):Math.round(t)}
  function qe (line 4) | function qe(t,e){j(t,0,0,function(){var t=this.utcOffset(),i="+";return ...
  function Ce (line 4) | function Ce(t,e){var i=(e||"").match(t);if(null===i)return null;var n=i[...
  function We (line 4) | function We(e,i){var n,o;return i._isUTC?(n=i.clone(),o=(b(e)||r(e)?e.va...
  function we (line 4) | function we(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}
  function Be (line 4) | function Be(e,i,n){var o,s=this._offset||0;if(!this.isValid())return nul...
  function Ee (line 4) | function Ee(t,e){return null!=t?("string"!=typeof t&&(t=-t),this.utcOffs...
  function Se (line 4) | function Se(t){return this.utcOffset(0,t)}
  function ke (line 4) | function ke(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t...
  function xe (line 4) | function xe(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if...
  function Re (line 4) | function Re(t){return!!this.isValid()&&(t=t?ge(t).utcOffset():0,(this.ut...
  function Xe (line 4) | function Xe(){return this.utcOffset()>this.clone().month(0).utcOffset()|...
  function De (line 4) | function De(){if(!o(this._isDSTShifted))return this._isDSTShifted;var t=...
  function $e (line 4) | function $e(){return!!this.isValid()&&!this._isUTC}
  function Ie (line 4) | function Ie(){return!!this.isValid()&&this._isUTC}
  function Pe (line 4) | function Pe(){return!!this.isValid()&&this._isUTC&&0===this._offset}
  function Fe (line 4) | function Fe(t,e){var i,n,o,r=t,a=null;return Ne(t)?r={ms:t._milliseconds...
  function He (line 4) | function He(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)...
  function je (line 4) | function je(t,e){var i={milliseconds:0,months:0};return i.months=e.month...
  function Ue (line 4) | function Ue(t,e){var i;return t.isValid()&&e.isValid()?(e=We(e,t),t.isBe...
  function Ye (line 4) | function Ye(t,e){return function(i,n){var o,s;return null===n||isNaN(+n)...
  function Ke (line 4) | function Ke(e,i,n,o){var s=i._milliseconds,r=Te(i._days),a=Te(i._months)...
  function Ve (line 4) | function Ve(t,e){var i=t.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"...
  function Ge (line 4) | function Ge(e,i){var n=e||ge(),o=We(n,this).startOf("day"),s=t.calendarF...
  function Qe (line 4) | function Qe(){return new m(this)}
  function Je (line 4) | function Je(t,e){var i=b(t)?t:ge(t);return!(!this.isValid()||!i.isValid(...
  function Ze (line 4) | function Ze(t,e){var i=b(t)?t:ge(t);return!(!this.isValid()||!i.isValid(...
  function ti (line 4) | function ti(t,e,i,n){return n=n||"()",("("===n[0]?this.isAfter(t,i):!thi...
  function ei (line 4) | function ei(t,e){var i,n=b(t)?t:ge(t);return!(!this.isValid()||!n.isVali...
  function ii (line 4) | function ii(t,e){return this.isSame(t,e)||this.isAfter(t,e)}
  function ni (line 4) | function ni(t,e){return this.isSame(t,e)||this.isBefore(t,e)}
  function oi (line 4) | function oi(t,e,i){var n,o,s,r;return this.isValid()?(n=We(t,this),n.isV...
  function si (line 4) | function si(t,e){var i,n,o=12*(e.year()-t.year())+(e.month()-t.month()),...
  function ri (line 4) | function ri(){return this.clone().locale("en").format("ddd MMM DD YYYY H...
  function ai (line 4) | function ai(){if(!this.isValid())return null;var t=this.clone().utc();re...
  function ci (line 4) | function ci(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */...
  function li (line 4) | function li(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);va...
  function di (line 4) | function di(t,e){return this.isValid()&&(b(t)&&t.isValid()||ge(t).isVali...
  function pi (line 4) | function pi(t){return this.from(ge(),t)}
  function ui (line 4) | function ui(t,e){return this.isValid()&&(b(t)&&t.isValid()||ge(t).isVali...
  function hi (line 4) | function hi(t){return this.to(ge(),t)}
  function fi (line 4) | function fi(t){var e;return void 0===t?this._locale._abbr:(e=te(t),null!...
  function Mi (line 4) | function Mi(){return this._locale}
  function mi (line 4) | function mi(t){switch(t=k(t)){case"year":this.month(0);case"quarter":cas...
  function bi (line 4) | function bi(t){return t=k(t),void 0===t||"millisecond"===t?this:("date"=...
  function gi (line 4) | function gi(){return this._d.valueOf()-6e4*(this._offset||0)}
  function vi (line 4) | function vi(){return Math.floor(this.valueOf()/1e3)}
  function Ai (line 4) | function Ai(){return new Date(this.valueOf())}
  function zi (line 4) | function zi(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.m...
  function yi (line 4) | function yi(){var t=this;return{years:t.year(),months:t.month(),date:t.d...
  function _i (line 4) | function _i(){
  function Li (line 5) | function Li(){return h(this)}
  function Oi (line 5) | function Oi(){return l({},u(this))}
  function Ni (line 5) | function Ni(){return u(this).overflow}
  function Ti (line 5) | function Ti(){return{input:this._i,format:this._f,locale:this._locale,is...
  function qi (line 5) | function qi(t,e){j(0,[t,t.length],0,e)}
  function Ci (line 5) | function Ci(t){return Ei.call(this,t,this.week(),this.weekday(),this.loc...
  function Wi (line 5) | function Wi(t){return Ei.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)}
  function wi (line 5) | function wi(){return yt(this.year(),1,4)}
  function Bi (line 5) | function Bi(){var t=this.localeData()._week;return yt(this.year(),t.dow,...
  function Ei (line 5) | function Ei(t,e,i,n,o){var s;return null==t?zt(this,n,o).year:(s=yt(t,n,...
  function Si (line 5) | function Si(t,e,i,n,o){var s=At(t,e,i,n,o),r=gt(s.year,0,s.dayOfYear);re...
  function ki (line 5) | function ki(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3...
  function xi (line 5) | function xi(t){var e=Math.round((this.clone().startOf("day")-this.clone(...
  function Ri (line 5) | function Ri(t,e){e[co]=v(1e3*("0."+t))}
  function Xi (line 5) | function Xi(){return this._isUTC?"UTC":""}
  function Di (line 5) | function Di(){return this._isUTC?"Coordinated Universal Time":""}
  function $i (line 5) | function $i(t){return ge(1e3*t)}
  function Ii (line 5) | function Ii(){return ge.apply(null,arguments).parseZone()}
  function Pi (line 5) | function Pi(t){return t}
  function Fi (line 5) | function Fi(t,e,i,n){var o=te(),s=d().set(n,e);return o[i](s,t)}
  function Hi (line 5) | function Hi(t,e,i){if(s(t)&&(e=t,t=void 0),t=t||"",null!=e)return Fi(t,e...
  function ji (line 5) | function ji(t,e,i,n){"boolean"==typeof t?(s(e)&&(i=e,e=void 0),e=e||""):...
  function Ui (line 5) | function Ui(t,e){return Hi(t,e,"months")}
  function Yi (line 5) | function Yi(t,e){return Hi(t,e,"monthsShort")}
  function Ki (line 5) | function Ki(t,e,i){return ji(t,e,i,"weekdays")}
  function Vi (line 5) | function Vi(t,e,i){return ji(t,e,i,"weekdaysShort")}
  function Gi (line 5) | function Gi(t,e,i){return ji(t,e,i,"weekdaysMin")}
  function Qi (line 5) | function Qi(){var t=this._data;return this._milliseconds=is(this._millis...
  function Ji (line 5) | function Ji(t,e,i,n){var o=Fe(e,i);return t._milliseconds+=n*o._millisec...
  function Zi (line 5) | function Zi(t,e){return Ji(this,t,e,1)}
  function tn (line 5) | function tn(t,e){return Ji(this,t,e,-1)}
  function en (line 5) | function en(t){return t<0?Math.floor(t):Math.ceil(t)}
  function nn (line 5) | function nn(){var t,e,i,n,o,s=this._milliseconds,r=this._days,a=this._mo...
  function on (line 5) | function on(t){return 4800*t/146097}
  function sn (line 5) | function sn(t){return 146097*t/4800}
  function rn (line 5) | function rn(t){if(!this.isValid())return NaN;var e,i,n=this._millisecond...
  function an (line 5) | function an(){return this.isValid()?this._milliseconds+864e5*this._days+...
  function cn (line 5) | function cn(t){return function(){return this.as(t)}}
  function ln (line 5) | function ln(t){return t=k(t),this.isValid()?this[t+"s"]():NaN}
  function dn (line 5) | function dn(t){return function(){return this.isValid()?this._data[t]:NaN}}
  function pn (line 5) | function pn(){return g(this.days()/7)}
  function un (line 5) | function un(t,e,i,n,o){return o.relativeTime(e||1,!!i,t,n)}
  function hn (line 5) | function hn(t,e,i){var n=Fe(t).abs(),o=gs(n.as("s")),s=gs(n.as("m")),r=g...
  function fn (line 5) | function fn(t){return void 0===t?gs:"function"==typeof t&&(gs=t,!0)}
  function Mn (line 5) | function Mn(t,e){return void 0!==vs[t]&&(void 0===e?vs[t]:(vs[t]=e,"s"==...
  function mn (line 5) | function mn(t){if(!this.isValid())return this.localeData().invalidDate()...
  function bn (line 5) | function bn(){if(!this.isValid())return this.localeData().invalidDate();...
  function e (line 5) | function e(t){return t>96?t-87:t>64?t-29:t-48}
  function i (line 5) | function i(t){var i,n=0,o=t.split("."),s=o[0],r=o[1]||"",a=1,c=0,l=1;for...
  function n (line 5) | function n(t){for(var e=0;e<t.length;e++)t[e]=i(t[e])}
  function o (line 5) | function o(t,e){for(var i=0;i<e;i++)t[i]=Math.round((t[i-1]||0)+6e4*t[i]...
  function s (line 5) | function s(t,e){var i,n=[];for(i=0;i<e.length;i++)n[i]=t[e[i]];return n}
  function r (line 5) | function r(t){var e=t.split("|"),i=e[2].split(" "),r=e[3].split(""),a=e[...
  function a (line 5) | function a(t){t&&this._set(r(t))}
  function c (line 5) | function c(t){var e=t.toTimeString(),i=e.match(/\([a-z ]+\)/i);i&&i[0]?(...
  function l (line 5) | function l(t){this.zone=t,this.offsetScore=0,this.abbrScore=0}
  function d (line 5) | function d(t,e){for(var i,n;n=6e4*((e.at-t.at)/12e4|0);)i=new c(new Date...
  function p (line 5) | function p(){var t,e,i,n=(new Date).getFullYear()-2,o=new c(new Date(n,0...
  function u (line 5) | function u(t,e){return t.offsetScore!==e.offsetScore?t.offsetScore-e.off...
  function h (line 5) | function h(t,e){var i,o;for(n(e),i=0;i<e.length;i++)o=e[i],B[o]=B[o]||{}...
  function f (line 5) | function f(t){var e,i,n,o=t.length,s={},r=[];for(e=0;e<o;e++){n=B[t[e].o...
  function M (line 5) | function M(){try{var t=Intl.DateTimeFormat().resolvedOptions().timeZone;...
  function m (line 5) | function m(t){return q&&!t||(q=M()),q}
  function b (line 5) | function b(t){return(t||"").toLowerCase().replace(/\//g,"_")}
  function g (line 5) | function g(t){var e,i,n,o;for("string"==typeof t&&(t=[t]),e=0;e<t.length...
  function v (line 5) | function v(t,e){t=b(t);var i,n=C[t];return n instanceof a?n:"string"==ty...
  function A (line 5) | function A(){var t,e=[];for(t in w)w.hasOwnProperty(t)&&(C[t]||C[W[t]])&...
  function z (line 5) | function z(t){var e,i,n,o;for("string"==typeof t&&(t=[t]),e=0;e<t.length...
  function y (line 5) | function y(t){g(t.zones),z(t.links),N.dataVersion=t.version}
  function _ (line 5) | function _(t){return _.didShowError||(_.didShowError=!0,O("moment.tz.zon...
  function L (line 5) | function L(t){return!(!t._a||void 0!==t._tzm)}
  function O (line 5) | function O(t){"undefined"!=typeof console&&"function"==typeof console.er...
  function N (line 5) | function N(e){var i=Array.prototype.slice.call(arguments,0,-1),n=argumen...
  function T (line 5) | function T(t){return function(){return this._z?this._z.abbr(this):t.call...
  method dom (line 8) | get dom(){return!0}
  method length (line 8) | get length(){return this.nodes.length}
  method cmnt (line 9) | get cmnt(){return!0}

FILE: src/Assets/src/js/cms.js
  function cmsNotify (line 75) | function cmsNotify(message, _type) {

FILE: src/Assets/src/js/forms.js
  function _urlPrepare (line 52) | function _urlPrepare (title) {

FILE: src/Assets/src/js/modules.js
  function confirmDelete (line 76) | function confirmDelete (url) {

FILE: src/Assets/src/js/vendor/dropzone.js
  function ctor (line 32) | function ctor() { this.constructor = child; }
  function Emitter (line 37) | function Emitter() {}
  function Dropzone (line 406) | function Dropzone(element, options) {

FILE: src/Assets/src/js/vendor/typeahead.bundle.js
  function reverseArgs (line 54) | function reverseArgs(index, value) {
  function template (line 99) | function template() {
  function whitespace (line 165) | function whitespace(str) {
  function nonword (line 169) | function nonword(str) {
  function getObjTokenizer (line 173) | function getObjTokenizer(tokenizer) {
  function LruCache (line 188) | function LruCache(maxSize) {
  function List (line 226) | function List() {
  function Node (line 247) | function Node(key, val) {
  function PersistentStorage (line 264) | function PersistentStorage(namespace, override) {
  function now (line 323) | function now() {
  function encode (line 326) | function encode(val) {
  function decode (line 329) | function decode(val) {
  function gatherMatchingKeys (line 332) | function gatherMatchingKeys(keyMatcher) {
  function Transport (line 345) | function Transport(o) {
  function done (line 378) | function done(resp) {
  function fail (line 382) | function fail() {
  function always (line 385) | function always() {
  function SearchIndex (line 418) | function SearchIndex(o) {
  function normalizeTokens (line 501) | function normalizeTokens(tokens) {
  function newNode (line 510) | function newNode() {
  function unique (line 516) | function unique(array) {
  function getIntersection (line 526) | function getIntersection(arrayA, arrayB) {
  function Prefetch (line 553) | function Prefetch(o) {
  function onError (line 597) | function onError() {
  function onResponse (line 600) | function onResponse(resp) {
  function Remote (line 613) | function Remote(o) {
  function onResponse (line 639) | function onResponse(err, resp) {
  function parsePrefetch (line 676) | function parsePrefetch(o) {
  function parseRemote (line 702) | function parseRemote(o) {
  function toRemotePrepare (line 734) | function toRemotePrepare(o) {
  function toLimiter (line 762) | function toLimiter(o) {
  function callbackToDeferred (line 782) | function callbackToDeferred(fn) {
  function Bloodhound (line 804) | function Bloodhound(o) {
  function withAsync (line 828) | function withAsync(query, sync, async) {
  function withoutAsync (line 831) | function withoutAsync(query, sync) {
  function done (line 847) | function done(err, data) {
  function addLocalToIndex (line 861) | function addLocalToIndex() {
  function processRemote (line 886) | function processRemote(remote) {
  function reverseArgs (line 967) | function reverseArgs(index, value) {
  function template (line 1012) | function template() {
  function build (line 1083) | function build(o) {
  function buildHtml (line 1102) | function buildHtml(c) {
  function buildSelectors (line 1108) | function buildSelectors(classes) {
  function buildCss (line 1115) | function buildCss() {
  function EventBus (line 1172) | function EventBus(o) {
  function on (line 1211) | function on(method, types, cb, context) {
  function onAsync (line 1228) | function onAsync(types, cb, context) {
  function onSync (line 1231) | function onSync(types, cb, context) {
  function off (line 1234) | function off(types) {
  function trigger (line 1245) | function trigger(types) {
  function getFlush (line 1259) | function getFlush(callbacks, context, args) {
  function getNextTick (line 1269) | function getNextTick() {
  function bindContext (line 1286) | function bindContext(fn, context) {
  function hightlightTextNode (line 1311) | function hightlightTextNode(textNode) {
  function traverse (line 1323) | function traverse(el, hightlightTextNode) {
  function getRegex (line 1335) | function getRegex(patterns, caseSensitive, wordsOnly) {
  function Input (line 1356) | function Input(o, www) {
  function buildOverflowHelper (line 1535) | function buildOverflowHelper($input) {
  function areQueriesEquivalent (line 1552) | function areQueriesEquivalent(a, b) {
  function withModifier (line 1555) | function withModifier($e) {
  function Dataset (line 1567) | function Dataset(o, www) {
  function sync (line 1707) | function sync(suggestions) {
  function async (line 1719) | function async(suggestions) {
  function getDisplayFn (line 1743) | function getDisplayFn(display) {
  function getTemplates (line 1750) | function getTemplates(templates, displayFn) {
  function isValidName (line 1762) | function isValidName(str) {
  function Menu (line 1768) | function Menu(o, www) {
  function isDatasetEmpty (line 1801) | function isDatasetEmpty(dataset) {
  function updateDataset (line 1881) | function updateDataset(dataset) {
  function clearDataset (line 1889) | function clearDataset(dataset) {
  function destroyDataset (line 1897) | function destroyDataset(dataset) {
  function DefaultMenu (line 1907) | function DefaultMenu() {
  function Typeahead (line 1950) | function Typeahead(o, www) {
  function c (line 2211) | function c(ctx) {
  function attach (line 2237) | function attach() {
  function ttEach (line 2390) | function ttEach($els, fn) {
  function buildHintFromInput (line 2396) | function buildHintFromInput($input, www) {
  function prepInput (line 2403) | function prepInput($input, www) {
  function getBackgroundStyles (line 2419) | function getBackgroundStyles($el) {
  function revert (line 2431) | function revert($input) {
  function $elOrNull (line 2444) | function $elOrNull(obj) {

FILE: src/Assets/src/vendor/datepicker/moment-timezone.js
  function b (line 6) | function b(a){return a>96?a-87:a>64?a-29:a-48}
  function c (line 6) | function c(a){var c,d=0,e=a.split("."),f=e[0],g=e[1]||"",h=1,i=0,j=1;for...
  function d (line 6) | function d(a){for(var b=0;b<a.length;b++)a[b]=c(a[b])}
  function e (line 6) | function e(a,b){for(var c=0;c<b;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]...
  function f (line 6) | function f(a,b){var c,d=[];for(c=0;c<b.length;c++)d[c]=a[b[c]];return d}
  function g (line 6) | function g(a){var b=a.split("|"),c=b[2].split(" "),g=b[3].split(""),h=b[...
  function h (line 6) | function h(a){a&&this._set(g(a))}
  function i (line 6) | function i(a){var b=a.toTimeString(),c=b.match(/\([a-z ]+\)/i);c&&c[0]?(...
  function j (line 6) | function j(a){this.zone=a,this.offsetScore=0,this.abbrScore=0}
  function k (line 6) | function k(a,b){for(var c,d;d=6e4*((b.at-a.at)/12e4|0);)c=new i(new Date...
  function l (line 6) | function l(){var a,b,c,d=(new Date).getFullYear()-2,e=new i(new Date(d,0...
  function m (line 6) | function m(a,b){return a.offsetScore!==b.offsetScore?a.offsetScore-b.off...
  function n (line 6) | function n(a,b){var c,e;for(d(b),c=0;c<b.length;c++)e=b[c],I[e]=I[e]||{}...
  function o (line 6) | function o(a){var b,c,d,e=a.length,f={},g=[];for(b=0;b<e;b++){d=I[a[b].o...
  function p (line 6) | function p(){try{var a=Intl.DateTimeFormat().resolvedOptions().timeZone;...
  function q (line 6) | function q(a){return D&&!a||(D=p()),D}
  function r (line 6) | function r(a){return(a||"").toLowerCase().replace(/\//g,"_")}
  function s (line 6) | function s(a){var b,c,d,e;for("string"==typeof a&&(a=[a]),b=0;b<a.length...
  function t (line 6) | function t(a,b){a=r(a);var c,d=F[a];return d instanceof h?d:"string"==ty...
  function u (line 6) | function u(){var a,b=[];for(a in H)H.hasOwnProperty(a)&&(F[a]||F[G[a]])&...
  function v (line 6) | function v(a){var b,c,d,e;for("string"==typeof a&&(a=[a]),b=0;b<a.length...
  function w (line 6) | function w(a){s(a.zones),v(a.links),A.dataVersion=a.version}
  function x (line 6) | function x(a){return x.didShowError||(x.didShowError=!0,z("moment.tz.zon...
  function y (line 6) | function y(a){return!(!a._a||void 0!==a._tzm)}
  function z (line 6) | function z(a){"undefined"!=typeof console&&"function"==typeof console.er...
  function A (line 6) | function A(b){var c=Array.prototype.slice.call(arguments,0,-1),d=argumen...
  function B (line 6) | function B(a){return function(){return this._z?this._z.abbr(this):a.call...
  function C (line 6) | function C(a){return function(){return this._z=null,a.apply(this,argumen...

FILE: src/Assets/src/vendor/datepicker/moment.js
  function a (line 6) | function a(){return sd.apply(null,arguments)}
  function b (line 6) | function b(a){sd=a}
  function c (line 6) | function c(a){return a instanceof Array||"[object Array]"===Object.proto...
  function d (line 6) | function d(a){return null!=a&&"[object Object]"===Object.prototype.toStr...
  function e (line 6) | function e(a){var b;for(b in a)return!1;return!0}
  function f (line 6) | function f(a){return void 0===a}
  function g (line 6) | function g(a){return"number"==typeof a||"[object Number]"===Object.proto...
  function h (line 6) | function h(a){return a instanceof Date||"[object Date]"===Object.prototy...
  function i (line 6) | function i(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));retu...
  function j (line 6) | function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}
  function k (line 6) | function k(a,b){for(var c in b)j(b,c)&&(a[c]=b[c]);return j(b,"toString"...
  function l (line 6) | function l(a,b,c,d){return sb(a,b,c,d,!0).utc()}
  function m (line 6) | function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,...
  function n (line 6) | function n(a){return null==a._pf&&(a._pf=m()),a._pf}
  function o (line 6) | function o(a){if(null==a._isValid){var b=n(a),c=ud.call(b.parsedDatePart...
  function p (line 6) | function p(a){var b=l(NaN);return null!=a?k(n(b),a):n(b).userInvalidated...
  function q (line 6) | function q(a,b){var c,d,e;if(f(b._isAMomentObject)||(a._isAMomentObject=...
  function r (line 6) | function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),...
  function s (line 6) | function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}
  function t (line 6) | function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}
  function u (line 6) | function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}
  function v (line 6) | function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.lengt...
  function w (line 6) | function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof co...
  function x (line 6) | function x(b,c){var d=!0;return k(function(){if(null!=a.deprecationHandl...
  function y (line 6) | function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),xd...
  function z (line 6) | function z(a){return a instanceof Function||"[object Function]"===Object...
  function A (line 6) | function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;thi...
  function B (line 6) | function B(a,b){var c,e=k({},a);for(c in b)j(b,c)&&(d(a[c])&&d(b[c])?(e[...
  function C (line 6) | function C(a){null!=a&&this.set(a)}
  function D (line 6) | function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;retur...
  function E (line 6) | function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toU...
  function F (line 6) | function F(){return this._invalidDate}
  function G (line 6) | function G(a){return this._ordinal.replace("%d",a)}
  function H (line 6) | function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e...
  function I (line 6) | function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c...
  function J (line 6) | function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}
  function K (line 6) | function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}
  function L (line 6) | function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));re...
  function M (line 6) | function M(a,b){Id[a]=b}
  function N (line 6) | function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});re...
  function O (line 6) | function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateO...
  function P (line 6) | function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}
  function Q (line 6) | function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}
  function R (line 6) | function R(a){return a=K(a),z(this[a])?this[a]():this}
  function S (line 6) | function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.len...
  function T (line 6) | function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+...
  function U (line 6) | function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return thi...
  function V (line 6) | function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.repl...
  function W (line 6) | function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b<c;b++)Md[d[b]]?...
  function X (line 6) | function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Ld[b]=Ld[b]||W...
  function Y (line 6) | function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(...
  function Z (line 6) | function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}
  function $ (line 6) | function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}
  function _ (line 6) | function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\...
  function aa (line 6) | function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}
  function ba (line 6) | function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=func...
  function ca (line 6) | function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}
  function da (line 6) | function da(a,b,c){null!=b&&j(de,a)&&de[a](b,c._a,c,a)}
  function ea (line 6) | function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}
  function fa (line 6) | function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._...
  function ga (line 6) | function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month...
  function ha (line 6) | function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsPar...
  function ia (line 6) | function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(th...
  function ja (line 6) | function ja(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if...
  function ka (line 6) | function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):...
  function la (line 6) | function la(){return ea(this.year(),this.month())}
  function ma (line 6) | function ma(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa...
  function na (line 6) | function na(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa...
  function oa (line 6) | function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[]...
  function pa (line 6) | function pa(a){return qa(a)?366:365}
  function qa (line 6) | function qa(a){return a%4===0&&a%100!==0||a%400===0}
  function ra (line 6) | function ra(){return qa(this.year())}
  function sa (line 6) | function sa(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a...
  function ta (line 6) | function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<1...
  function ua (line 6) | function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+...
  function va (line 6) | function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;r...
  function wa (line 6) | function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear(...
  function xa (line 6) | function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}
  function ya (line 6) | function ya(a){return wa(a,this._week.dow,this._week.doy).week}
  function za (line 6) | function za(){return this._week.dow}
  function Aa (line 6) | function Aa(){return this._week.doy}
  function Ba (line 6) | function Ba(a){var b=this.localeData().week(this);return null==a?b:this....
  function Ca (line 6) | function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b)...
  function Da (line 6) | function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(...
  function Ea (line 6) | function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(...
  function Fa (line 6) | function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this...
  function Ga (line 6) | function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}
  function Ha (line 6) | function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}
  function Ia (line 6) | function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysP...
  function Ja (line 6) | function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(...
  function Ka (line 6) | function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._is...
  function La (line 6) | function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.da...
  function Ma (line 6) | function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){va...
  function Na (line 6) | function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")...
  function Oa (line 6) | function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")...
  function Pa (line 6) | function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")...
  function Qa (line 6) | function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[...
  function Ra (line 6) | function Ra(){return this.hours()%12||12}
  function Sa (line 6) | function Sa(){return this.hours()||24}
  function Ta (line 6) | function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(th...
  function Ua (line 6) | function Ua(a,b){return b._meridiemParse}
  function Va (line 6) | function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}
  function Wa (line 6) | function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}
  function Xa (line 6) | function Xa(a){return a?a.toLowerCase().replace("_","-"):a}
  function Ya (line 6) | function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"...
  function Za (line 6) | function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&...
  function $a (line 6) | function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}
  function _a (line 6) | function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("define...
  function ab (line 6) | function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b...
  function bb (line 6) | function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abb...
  function cb (line 6) | function cb(){return Ad(Fe)}
  function db (line 6) | function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[...
  function eb (line 6) | function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for...
  function fb (line 6) | function fb(a){var b,c,d,e,f,g,h,i,j={" GMT":" +0000"," EDT":" -0400"," ...
  function gb (line 6) | function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date(+c...
  function hb (line 6) | function hb(a,b,c){return null!=a?a:null!=b?b:c}
  function ib (line 6) | function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYea...
  function jb (line 6) | function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[g...
  function kb (line 6) | function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null...
  function lb (line 6) | function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_28...
  function mb (line 6) | function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridie...
  function nb (line 6) | function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidForma...
  function ob (line 6) | function ob(a){if(!a._d){var b=L(a._i);a._a=i([b.year,b.month,b.day||b.d...
  function pb (line 6) | function pb(a){var b=new r(db(qb(a)));return b._nextDay&&(b.add(1,"d"),b...
  function qb (line 6) | function qb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),nu...
  function rb (line 6) | function rb(b){var e=b._i;f(e)?b._d=new Date(a.now()):h(e)?b._d=new Date...
  function sb (line 6) | function sb(a,b,f,g,h){var i={};return f!==!0&&f!==!1||(g=f,f=void 0),(d...
  function tb (line 6) | function tb(a,b,c,d){return sb(a,b,c,d,!1)}
  function ub (line 6) | function ub(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)re...
  function vb (line 6) | function vb(){var a=[].slice.call(arguments,0);return ub("isBefore",a)}
  function wb (line 6) | function wb(){var a=[].slice.call(arguments,0);return ub("isAfter",a)}
  function xb (line 6) | function xb(a){for(var b in a)if(Re.indexOf(b)===-1||null!=a[b]&&isNaN(a...
  function yb (line 6) | function yb(){return this._isValid}
  function zb (line 6) | function zb(){return Sb(NaN)}
  function Ab (line 6) | function Ab(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.we...
  function Bb (line 6) | function Bb(a){return a instanceof Ab}
  function Cb (line 6) | function Cb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}
  function Db (line 6) | function Db(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return ...
  function Eb (line 6) | function Eb(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[...
  function Fb (line 6) | function Fb(b,c){var d,e;return c._isUTC?(d=c.clone(),e=(s(b)||h(b)?b.va...
  function Gb (line 6) | function Gb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}
  function Hb (line 6) | function Hb(b,c,d){var e,f=this._offset||0;if(!this.isValid())return nul...
  function Ib (line 6) | function Ib(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffs...
  function Jb (line 6) | function Jb(a){return this.utcOffset(0,a)}
  function Kb (line 6) | function Kb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a...
  function Lb (line 6) | function Lb(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if...
  function Mb (line 6) | function Mb(a){return!!this.isValid()&&(a=a?tb(a).utcOffset():0,(this.ut...
  function Nb (line 6) | function Nb(){return this.utcOffset()>this.clone().month(0).utcOffset()|...
  function Ob (line 6) | function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a=...
  function Pb (line 6) | function Pb(){return!!this.isValid()&&!this._isUTC}
  function Qb (line 6) | function Qb(){return!!this.isValid()&&this._isUTC}
  function Rb (line 6) | function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}
  function Sb (line 6) | function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds...
  function Tb (line 6) | function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)...
  function Ub (line 6) | function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month...
  function Vb (line 6) | function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBe...
  function Wb (line 6) | function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)...
  function Xb (line 6) | function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months)...
  function Yb (line 6) | function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"...
  function Zb (line 6) | function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarF...
  function $b (line 6) | function $b(){return new r(this)}
  function _b (line 6) | function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid(...
  function ac (line 6) | function ac(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid(...
  function bc (line 6) | function bc(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!thi...
  function cc (line 6) | function cc(a,b){var c,d=s(a)?a:tb(a);return!(!this.isValid()||!d.isVali...
  function dc (line 6) | function dc(a,b){return this.isSame(a,b)||this.isAfter(a,b)}
  function ec (line 6) | function ec(a,b){return this.isSame(a,b)||this.isBefore(a,b)}
  function fc (line 6) | function fc(a,b,c){var d,e,f,g;return this.isValid()?(d=Fb(a,this),d.isV...
  function gc (line 6) | function gc(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),...
  function hc (line 6) | function hc(){return this.clone().locale("en").format("ddd MMM DD YYYY H...
  function ic (line 6) | function ic(){if(!this.isValid())return null;var a=this.clone().utc();re...
  function jc (line 6) | function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */...
  function kc (line 6) | function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);va...
  function lc (line 6) | function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isVali...
  function mc (line 6) | function mc(a){return this.from(tb(),a)}
  function nc (line 6) | function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isVali...
  function oc (line 6) | function oc(a){return this.to(tb(),a)}
  function pc (line 6) | function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!...
  function qc (line 6) | function qc(){return this._locale}
  function rc (line 6) | function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":cas...
  function sc (line 6) | function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"=...
  function tc (line 6) | function tc(){return this._d.valueOf()-6e4*(this._offset||0)}
  function uc (line 6) | function uc(){return Math.floor(this.valueOf()/1e3)}
  function vc (line 6) | function vc(){return new Date(this.valueOf())}
  function wc (line 6) | function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.m...
  function xc (line 6) | function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.d...
  function yc (line 6) | function yc(){return this.isValid()?this.toISOString():null}
  function zc (line 6) | function zc(){return o(this)}
  function Ac (line 6) | function Ac(){
  function Bc (line 7) | function Bc(){return n(this).overflow}
  function Cc (line 7) | function Cc(){return{input:this._i,format:this._f,locale:this._locale,is...
  function Dc (line 7) | function Dc(a,b){U(0,[a,a.length],0,b)}
  function Ec (line 7) | function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.loc...
  function Fc (line 7) | function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}
  function Gc (line 7) | function Gc(){return xa(this.year(),1,4)}
  function Hc (line 7) | function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,...
  function Ic (line 7) | function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,...
  function Jc (line 7) | function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);re...
  function Kc (line 7) | function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3...
  function Lc (line 7) | function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone(...
  function Mc (line 7) | function Mc(a,b){b[ke]=u(1e3*("0."+a))}
  function Nc (line 7) | function Nc(){return this._isUTC?"UTC":""}
  function Oc (line 7) | function Oc(){return this._isUTC?"Coordinated Universal Time":""}
  function Pc (line 7) | function Pc(a){return tb(1e3*a)}
  function Qc (line 7) | function Qc(){return tb.apply(null,arguments).parseZone()}
  function Rc (line 7) | function Rc(a){return a}
  function Sc (line 7) | function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}
  function Tc (line 7) | function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b...
  function Uc (line 7) | function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):...
  function Vc (line 7) | function Vc(a,b){return Tc(a,b,"months")}
  function Wc (line 7) | function Wc(a,b){return Tc(a,b,"monthsShort")}
  function Xc (line 7) | function Xc(a,b,c){return Uc(a,b,c,"weekdays")}
  function Yc (line 7) | function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}
  function Zc (line 7) | function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}
  function $c (line 7) | function $c(){var a=this._data;return this._milliseconds=df(this._millis...
  function _c (line 7) | function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._millisec...
  function ad (line 7) | function ad(a,b){return _c(this,a,b,1)}
  function bd (line 7) | function bd(a,b){return _c(this,a,b,-1)}
  function cd (line 7) | function cd(a){return a<0?Math.floor(a):Math.ceil(a)}
  function dd (line 7) | function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._mo...
  function ed (line 7) | function ed(a){return 4800*a/146097}
  function fd (line 7) | function fd(a){return 146097*a/4800}
  function gd (line 7) | function gd(a){if(!this.isValid())return NaN;var b,c,d=this._millisecond...
  function hd (line 7) | function hd(){return this.isValid()?this._milliseconds+864e5*this._days+...
  function id (line 7) | function id(a){return function(){return this.as(a)}}
  function jd (line 7) | function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}
  function kd (line 7) | function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}
  function ld (line 7) | function ld(){return t(this.days()/7)}
  function md (line 7) | function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}
  function nd (line 7) | function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=u...
  function od (line 7) | function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}
  function pd (line 7) | function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"==...
  function qd (line 7) | function qd(a){if(!this.isValid())return this.localeData().invalidDate()...
  function rd (line 7) | function rd(){if(!this.isValid())return this.localeData().invalidDate();...

FILE: src/Assets/src/vendor/dropzone/dropzone-amd-module.js
  function ctor (line 44) | function ctor() { this.constructor = child; }
  function Emitter (line 49) | function Emitter() {}
  function Dropzone (line 418) | function Dropzone(element, options) {

FILE: src/Assets/src/vendor/dropzone/dropzone.js
  function ctor (line 32) | function ctor() { this.constructor = child; }
  function Emitter (line 37) | function Emitter() {}
  function Dropzone (line 406) | function Dropzone(element, options) {

FILE: src/Assets/src/vendor/redactor/redactor.js
  method dom (line 141) | get dom()
  method length (line 145) | get length()
  method cmnt (line 2681) | get cmnt()

FILE: src/Console/Keys.php
  class Keys (line 7) | class Keys extends Command
    method handle (line 28) | public function handle()

FILE: src/Console/ModuleComposer.php
  class ModuleComposer (line 9) | class ModuleComposer extends Command
    method handle (line 30) | public function handle()
    method updateFile (line 72) | public function updateFile($file, $namespace, $module)
    method copyModuleToPackageDir (line 89) | public function copyModuleToPackageDir($moduleDir, $packageDir)

FILE: src/Console/ModuleCrud.php
  class ModuleCrud (line 12) | class ModuleCrud extends Command
    method handle (line 36) | public function handle()
    method makeTheProvider (line 177) | public function makeTheProvider($config, $moduleDirectory, $table)
    method directorySetup (line 191) | public function directorySetup()
    method setSchema (line 202) | public function setSchema()

FILE: src/Console/ModuleMake.php
  class ModuleMake (line 11) | class ModuleMake extends Command
    method handle (line 32) | public function handle()
    method makeTheProvider (line 142) | public function makeTheProvider($config, $moduleDirectory, $table)

FILE: src/Console/ModulePublish.php
  class ModulePublish (line 10) | class ModulePublish extends Command
    method handle (line 31) | public function handle()
    method getArguments (line 81) | protected function getArguments()
    method getOptions (line 93) | protected function getOptions()

FILE: src/Console/ThemeGenerate.php
  class ThemeGenerate (line 8) | class ThemeGenerate extends Command
    method handle (line 29) | public function handle()

FILE: src/Console/ThemeLink.php
  class ThemeLink (line 8) | class ThemeLink extends Command
    method handle (line 29) | public function handle()

FILE: src/Console/ThemePublish.php
  class ThemePublish (line 8) | class ThemePublish extends Command
    method handle (line 29) | public function handle()

FILE: src/Controllers/ApiController.php
  class ApiController (line 10) | class ApiController extends GrafiteCmsController
    method __construct (line 14) | public function __construct(Request $request)
    method find (line 34) | public function find($id)
    method all (line 44) | public function all()
    method search (line 72) | public function search($term)

FILE: src/Controllers/AssetController.php
  class AssetController (line 9) | class AssetController extends GrafiteCmsController
    method __construct (line 11) | public function __construct(AssetService $service)
    method asPublic (line 25) | public function asPublic($encFileName)
    method asPreview (line 37) | public function asPreview($encFileName, Filesystem $fileSystem)
    method asDownload (line 50) | public function asDownload($encFileName, $encRealFileName)
    method asset (line 63) | public function asset($encPath, $contentType, Filesystem $fileSystem)

FILE: src/Controllers/BlogController.php
  class BlogController (line 12) | class BlogController extends GrafiteCmsController
    method __construct (line 14) | public function __construct(BlogRepository $repository)
    method index (line 26) | public function index()
    method search (line 42) | public function search(Request $request)
    method create (line 59) | public function create()
    method store (line 71) | public function store(Request $request)
    method edit (line 96) | public function edit($id)
    method update (line 117) | public function update($id, BlogRequest $request)
    method destroy (line 151) | public function destroy($id)
    method history (line 175) | public function history($id)

FILE: src/Controllers/DashboardController.php
  class DashboardController (line 10) | class DashboardController extends GrafiteCmsController
    method __construct (line 14) | public function __construct(AnalyticsService $service)
    method main (line 21) | public function main()

FILE: src/Controllers/EventController.php
  class EventController (line 13) | class EventController extends GrafiteCmsController
    method __construct (line 15) | public function __construct(EventRepository $repository)
    method index (line 27) | public function index()
    method search (line 43) | public function search(Request $request)
    method create (line 60) | public function create()
    method store (line 72) | public function store(Request $request)
    method edit (line 97) | public function edit($id)
    method update (line 118) | public function update($id, EventRequest $request)
    method destroy (line 145) | public function destroy($id)
    method history (line 169) | public function history($id)

FILE: src/Controllers/FAQController.php
  class FAQController (line 13) | class FAQController extends GrafiteCmsController
    method __construct (line 15) | public function __construct(FAQRepository $repository)
    method index (line 27) | public function index()
    method search (line 43) | public function search(Request $request)
    method create (line 60) | public function create()
    method store (line 72) | public function store(Request $request)
    method edit (line 97) | public function edit($id)
    method update (line 118) | public function update($id, FAQRequest $request)
    method destroy (line 151) | public function destroy($id)

FILE: src/Controllers/FilesController.php
  class FilesController (line 20) | class FilesController extends GrafiteCmsController
    method __construct (line 22) | public function __construct(
    method index (line 42) | public function index()
    method search (line 58) | public function search(Request $request)
    method create (line 75) | public function create()
    method store (line 87) | public function store(Request $request)
    method upload (line 109) | public function upload(Request $request)
    method remove (line 136) | public function remove($id)
    method edit (line 155) | public function edit($id)
    method update (line 176) | public function update($id, FileRequest $request)
    method destroy (line 200) | public function destroy($id)
    method apiList (line 228) | public function apiList(Request $request)

FILE: src/Controllers/GrafiteCmsController.php
  class GrafiteCmsController (line 10) | abstract class GrafiteCmsController extends BaseController
    method construct (line 18) | public function construct()

FILE: src/Controllers/GrafiteCmsFeatureController.php
  class GrafiteCmsFeatureController (line 12) | class GrafiteCmsFeatureController extends GrafiteCmsController
    method sendHome (line 14) | public function sendHome()
    method revert (line 26) | public function revert($id)
    method rollback (line 51) | public function rollback($entity, $id)
    method preview (line 90) | public function preview($entity, $id)
    method setLanguage (line 136) | public function setLanguage(Request $request, $lang)
    method deleteHero (line 149) | public function deleteHero($entity, $id)

FILE: src/Controllers/HelpController.php
  class HelpController (line 5) | class HelpController extends GrafiteCmsController
    method main (line 7) | public function main()

FILE: src/Controllers/ImagesController.php
  class ImagesController (line 17) | class ImagesController extends GrafiteCmsController
    method __construct (line 19) | public function __construct(ImageRepository $repository)
    method index (line 33) | public function index(Request $request)
    method search (line 51) | public function search(Request $request)
    method create (line 68) | public function create()
    method store (line 80) | public function store(Request $request)
    method upload (line 117) | public function upload(Request $request)
    method edit (line 144) | public function edit($id)
    method update (line 165) | public function update($id, ImagesRequest $request)
    method destroy (line 197) | public function destroy($id)
    method bulkDelete (line 228) | public function bulkDelete($ids)
    method apiList (line 260) | public function apiList(Request $request)
    method apiStore (line 278) | public function apiStore(Request $request)

FILE: src/Controllers/LinksController.php
  class LinksController (line 14) | class LinksController extends GrafiteCmsController
    method __construct (line 16) | public function __construct(LinkRepository $repository)
    method index (line 28) | public function index()
    method create (line 42) | public function create(Request $request)
    method store (line 56) | public function store(LinksRequest $request)
    method edit (line 85) | public function edit($id)
    method update (line 106) | public function update($id, LinksRequest $request)
    method destroy (line 137) | public function destroy($id)

FILE: src/Controllers/MenuController.php
  class MenuController (line 15) | class MenuController extends GrafiteCmsController
    method __construct (line 19) | public function __construct(MenuRepository $repository, LinkRepository...
    method index (line 32) | public function index()
    method search (line 48) | public function search(Request $request)
    method create (line 65) | public function create()
    method store (line 77) | public function store(Request $request)
    method edit (line 106) | public function edit($id)
    method update (line 129) | public function update($id, MenuRequest $request)
    method destroy (line 160) | public function destroy($id)
    method setOrder (line 189) | public function setOrder($id, Request $request)

FILE: src/Controllers/PagesController.php
  class PagesController (line 12) | class PagesController extends GrafiteCmsController
    method __construct (line 14) | public function __construct(PageRepository $repository)
    method index (line 26) | public function index()
    method search (line 42) | public function search(Request $request)
    method create (line 59) | public function create()
    method store (line 71) | public function store(Request $request)
    method edit (line 96) | public function edit($id)
    method update (line 117) | public function update($id, PagesRequest $request)
    method destroy (line 144) | public function destroy($id)
    method history (line 168) | public function history($id)

FILE: src/Controllers/PromotionsController.php
  class PromotionsController (line 12) | class PromotionsController extends GrafiteCmsController
    method __construct (line 14) | public function __construct(PromotionRepository $repository)
    method index (line 26) | public function index()
    method search (line 42) | public function search(Request $request)
    method create (line 59) | public function create()
    method store (line 71) | public function store(Request $request)
    method edit (line 93) | public function edit($id)
    method update (line 114) | public function update($id, PromotionRequest $request)
    method destroy (line 138) | public function destroy($id)

FILE: src/Controllers/RssController.php
  class RssController (line 8) | class RssController extends GrafiteCmsController
    method __construct (line 12) | public function __construct(Request $request)
    method index (line 25) | public function index()

FILE: src/Controllers/SiteMapController.php
  class SiteMapController (line 8) | class SiteMapController extends GrafiteCmsController
    method __construct (line 12) | public function __construct(CmsService $service)
    method index (line 19) | public function index()

FILE: src/Controllers/WidgetsController.php
  class WidgetsController (line 12) | class WidgetsController extends GrafiteCmsController
    method __construct (line 14) | public function __construct(WidgetRepository $repository)
    method index (line 26) | public function index()
    method search (line 42) | public function search(Request $request)
    method create (line 59) | public function create()
    method store (line 71) | public function store(Request $request)
    method edit (line 93) | public function edit($id)
    method update (line 114) | public function update($id, WidgetRequest $request)
    method destroy (line 138) | public function destroy($id)

FILE: src/Facades/BlogServiceFacade.php
  class BlogServiceFacade (line 7) | class BlogServiceFacade extends Facade
    method getFacadeAccessor (line 9) | protected static function getFacadeAccessor()

FILE: src/Facades/CmsServiceFacade.php
  class CmsServiceFacade (line 7) | class CmsServiceFacade extends Facade
    method getFacadeAccessor (line 9) | protected static function getFacadeAccessor()

FILE: src/Facades/CryptoServiceFacade.php
  class CryptoServiceFacade (line 7) | class CryptoServiceFacade extends Facade
    method getFacadeAccessor (line 9) | protected static function getFacadeAccessor()

FILE: src/Facades/EventServiceFacade.php
  class EventServiceFacade (line 7) | class EventServiceFacade extends Facade
    method getFacadeAccessor (line 9) | protected static function getFacadeAccessor()

FILE: src/Facades/ModuleServiceFacade.php
  class ModuleServiceFacade (line 7) | class ModuleServiceFacade extends Facade
    method getFacadeAccessor (line 9) | protected static function getFacadeAccessor()

FILE: src/Facades/PageServiceFacade.php
  class PageServiceFacade (line 7) | class PageServiceFacade extends Facade
    method getFacadeAccessor (line 9) | protected static function getFacadeAccessor()

FILE: src/GrafiteCmsProvider.php
  class GrafiteCmsProvider (line 30) | class GrafiteCmsProvider extends ServiceProvider
    method boot (line 35) | public function boot()
    method register (line 128) | public function register()

FILE: src/Helpers/blade.php
  function menu (line 4) | function menu($slug, $view = null)
  function images (line 11) | function images($tag = null)
  function widget (line 18) | function widget($slug)
  function edit (line 25) | function edit($module, $id = null)

FILE: src/Helpers/general.php
  function sortable (line 4) | function sortable($label, $field)
  function cms (line 29) | function cms()

FILE: src/Middleware/GrafiteCmsAnalytics.php
  class GrafiteCmsAnalytics (line 8) | class GrafiteCmsAnalytics
    method handle (line 18) | public function handle($request, Closure $next)

FILE: src/Migrations/2015_07_03_133637_create_files_table.php
  class CreateFilesTable (line 6) | class CreateFilesTable extends Migration
    method up (line 11) | public function up()
    method down (line 31) | public function down()

FILE: src/Migrations/2015_09_29_193916_create_images_table.php
  class CreateImagesTable (line 6) | class CreateImagesTable extends Migration
    method up (line 11) | public function up()
    method down (line 29) | public function down()

FILE: src/Migrations/2015_09_29_211249_create_blogs_table.php
  class CreateBlogsTable (line 6) | class CreateBlogsTable extends Migration
    method up (line 11) | public function up()
    method down (line 29) | public function down()

FILE: src/Migrations/2015_10_03_021221_create_pages_table.php
  class CreatePagesTable (line 6) | class CreatePagesTable extends Migration
    method up (line 11) | public function up()
    method down (line 28) | public function down()

FILE: src/Migrations/2015_10_03_032000_create_widgets_table.php
  class CreateWidgetsTable (line 6) | class CreateWidgetsTable extends Migration
    method up (line 11) | public function up()
    method down (line 25) | public function down()

FILE: src/Migrations/2015_10_03_032005_create_archives_table.php
  class CreateArchivesTable (line 6) | class CreateArchivesTable extends Migration
    method up (line 11) | public function up()
    method down (line 26) | public function down()

FILE: src/Migrations/2015_10_12_195952_create_faqs_table.php
  class CreateFaqsTable (line 6) | class CreateFaqsTable extends Migration
    method up (line 11) | public function up()
    method down (line 25) | public function down()

FILE: src/Migrations/2015_10_12_196052_create_events_table.php
  class CreateEventsTable (line 6) | class CreateEventsTable extends Migration
    method up (line 11) | public function up()
    method down (line 29) | public function down()

FILE: src/Migrations/2015_10_28_174809_create_menus_table.php
  class CreateMenusTable (line 6) | class CreateMenusTable extends Migration
    method up (line 11) | public function up()
    method down (line 24) | public function down()

FILE: src/Migrations/2015_10_28_175046_create_links_table.php
  class CreateLinksTable (line 6) | class CreateLinksTable extends Migration
    method up (line 11) | public function up()
    method down (line 27) | public function down()

FILE: src/Migrations/2016_02_03_175046_add_tags_to_images.php
  class AddTagsToImages (line 6) | class AddTagsToImages extends Migration
    method up (line 11) | public function up()
    method down (line 21) | public function down()

FILE: src/Migrations/2016_02_03_185046_add_templates_to_pages.php
  class AddTemplatesToPages (line 6) | class AddTemplatesToPages extends Migration
    method up (line 11) | public function up()
    method down (line 21) | public function down()

FILE: src/Migrations/2016_03_20_185046_add_templates_to_blogs.php
  class AddTemplatesToBlogs (line 6) | class AddTemplatesToBlogs extends Migration
    method up (line 11) | public function up()
    method down (line 21) | public function down()

FILE: src/Migrations/2016_03_20_186046_add_templates_to_events.php
  class AddTemplatesToEvents (line 6) | class AddTemplatesToEvents extends Migration
    method up (line 11) | public function up()
    method down (line 21) | public function down()

FILE: src/Migrations/2016_06_01_002825_convert_to_published_at.php
  class ConvertToPublishedAt (line 6) | class ConvertToPublishedAt extends Migration
    method up (line 11) | public function up()
    method down (line 33) | public function down()

FILE: src/Migrations/2016_10_27_224359_create_translations_table.php
  class CreateTranslationsTable (line 7) | class CreateTranslationsTable extends Migration
    method up (line 12) | public function up()
    method down (line 26) | public function down()

FILE: src/Migrations/2016_12_11_034855_add_lang_to_translations_table.php
  class AddLangToTranslationsTable (line 7) | class AddLangToTranslationsTable extends Migration
    method up (line 12) | public function up()
    method down (line 22) | public function down()

FILE: src/Migrations/2017_01_11_132526_create_analytics_table.php
  class CreateAnalyticsTable (line 7) | class CreateAnalyticsTable extends Migration
    method up (line 12) | public function up()
    method down (line 24) | public function down()

FILE: src/Migrations/2017_06_10_234231_add_order_to_menus.php
  class AddOrderToMenus (line 7) | class AddOrderToMenus extends Migration
    method up (line 12) | public function up()
    method down (line 22) | public function down()

FILE: src/Migrations/2017_07_05_002825_add_blocks.php
  class AddBlocks (line 6) | class AddBlocks extends Migration
    method up (line 11) | public function up()
    method down (line 29) | public function down()

FILE: src/Migrations/2017_07_08_223935_add_entity_to_images.php
  class AddEntityToImages (line 7) | class AddEntityToImages extends Migration
    method up (line 12) | public function up()
    method down (line 23) | public function down()

FILE: src/Migrations/2017_12_14_045216_add_hero_images.php
  class AddHeroImages (line 7) | class AddHeroImages extends Migration
    method up (line 14) | public function up()
    method down (line 30) | public function down()

FILE: src/Migrations/2018_08_24_191305_create_promotions_table.php
  class CreatePromotionsTable (line 7) | class CreatePromotionsTable extends Migration
    method up (line 14) | public function up()
    method down (line 31) | public function down()

FILE: src/Models/Analytics.php
  class Analytics (line 7) | class Analytics extends CmsModel

FILE: src/Models/Archive.php
  class Archive (line 7) | class Archive extends CmsModel

FILE: src/Models/Blog.php
  class Blog (line 9) | class Blog extends CmsModel
    method __construct (line 46) | public function __construct(array $attributes = [])
    method getEntryAttribute (line 53) | public function getEntryAttribute($value)
    method getHeroImageUrlAttribute (line 58) | public function getHeroImageUrlAttribute($value)
    method history (line 63) | public function history()
    method getBlocksAttribute (line 68) | public function getBlocksAttribute($value)

FILE: src/Models/CmsModel.php
  class CmsModel (line 9) | class CmsModel extends Model
    method __construct (line 16) | public function __construct(array $attributes = [])
    method asObject (line 30) | public function asObject()
    method afterSaved (line 44) | public function afterSaved($payload)
    method beingDeleted (line 69) | public function beingDeleted($payload)
    method block (line 93) | public function block($slug)
    method findABlock (line 112) | public function findABlock($slug)

FILE: src/Models/Event.php
  class Event (line 9) | class Event extends CmsModel
    method __construct (line 43) | public function __construct(array $attributes = [])
    method getDetailsAttribute (line 50) | public function getDetailsAttribute($value)
    method history (line 55) | public function history()

FILE: src/Models/FAQ.php
  class FAQ (line 8) | class FAQ extends CmsModel
    method __construct (line 38) | public function __construct(array $attributes = [])

FILE: src/Models/File.php
  class File (line 7) | class File extends CmsModel
    method __construct (line 31) | public function __construct(array $attributes = [])

FILE: src/Models/Image.php
  class Image (line 16) | class Image extends CmsModel
    method __construct (line 46) | public function __construct(array $attributes = [])
    method getUrlAttribute (line 60) | public function getUrlAttribute()
    method getS3Image (line 76) | public function getS3Image()
    method getJsUrlAttribute (line 94) | public function getJsUrlAttribute()
    method setCaches (line 102) | public function setCaches()
    method remember (line 119) | public function remember($attribute, $closure)
    method forgetCache (line 134) | public function forgetCache()
    method isLocalFile (line 147) | private function isLocalFile()
    method fileExists (line 167) | public function fileExists()
    method lostImage (line 177) | public function lostImage()

FILE: src/Models/Link.php
  class Link (line 10) | class Link extends CmsModel
    method __construct (line 36) | public function __construct(array $attributes = [])
    method page (line 43) | public function page()
    method menu (line 48) | public function menu()

FILE: src/Models/Menu.php
  class Menu (line 7) | class Menu extends CmsModel
    method __construct (line 26) | public function __construct(array $attributes = [])
    method getOrderAttribute (line 33) | public function getOrderAttribute($value)

FILE: src/Models/Page.php
  class Page (line 9) | class Page extends CmsModel
    method __construct (line 45) | public function __construct(array $attributes = [])
    method getEntryAttribute (line 52) | public function getEntryAttribute($value)
    method getHeroImageUrlAttribute (line 57) | public function getHeroImageUrlAttribute($value)
    method history (line 62) | public function history()
    method getBlocksAttribute (line 67) | public function getBlocksAttribute($value)

FILE: src/Models/Promotion.php
  class Promotion (line 10) | class Promotion extends CmsModel
    method __construct (line 41) | public function __construct(array $attributes = [])
    method getDetailsAttribute (line 48) | public function getDetailsAttribute($value)
    method getPublishedAtAttribute (line 53) | public function getPublishedAtAttribute($value)
    method getFinishedAtAttribute (line 58) | public function getFinishedAtAttribute($value)
    method getIsPublishedAttribute (line 63) | public function getIsPublishedAttribute()

FILE: src/Models/Translation.php
  class Translation (line 7) | class Translation extends CmsModel
    method getDataAttribute (line 24) | public function getDataAttribute()

FILE: src/Models/Widget.php
  class Widget (line 8) | class Widget extends CmsModel
    method __construct (line 33) | public function __construct(array $attributes = [])

FILE: src/Providers/CmsEventServiceProvider.php
  class CmsEventServiceProvider (line 7) | class CmsEventServiceProvider extends ServiceProvider
    method boot (line 78) | public function boot()

FILE: src/Providers/CmsModuleProvider.php
  class CmsModuleProvider (line 8) | class CmsModuleProvider extends ServiceProvider
    method register (line 13) | public function register()

FILE: src/Providers/CmsRouteProvider.php
  class CmsRouteProvider (line 8) | class CmsRouteProvider extends ServiceProvider
    method boot (line 24) | public function boot()
    method map (line 34) | public function map(Router $router)

FILE: src/Providers/CmsServiceProvider.php
  class CmsServiceProvider (line 15) | class CmsServiceProvider extends ServiceProvider
    method register (line 20) | public function register()

FILE: src/PublishedAssets/Controllers/BlogController.php
  class BlogController (line 8) | class BlogController extends Controller
    method __construct (line 12) | public function __construct(BlogRepository $repository)
    method all (line 28) | public function all()
    method tag (line 49) | public function tag($tag)
    method show (line 70) | public function show($url)

FILE: src/PublishedAssets/Controllers/EventsController.php
  class EventsController (line 9) | class EventsController extends Controller
    method __construct (line 13) | public function __construct(EventRepository $repository, EventService ...
    method calendar (line 30) | public function calendar($date = null)
    method date (line 53) | public function date($date)
    method all (line 69) | public function all()
    method show (line 87) | public function show($id)

FILE: src/PublishedAssets/Controllers/FaqController.php
  class FaqController (line 8) | class FaqController extends Controller
    method __construct (line 12) | public function __construct(FAQRepository $repository)
    method all (line 28) | public function all()

FILE: src/PublishedAssets/Controllers/GalleryController.php
  class GalleryController (line 9) | class GalleryController extends Controller
    method __construct (line 13) | public function __construct(ImageRepository $repository)
    method all (line 23) | public function all()
    method show (line 44) | public function show($tag)

FILE: src/PublishedAssets/Controllers/PagesController.php
  class PagesController (line 8) | class PagesController extends Controller
    method __construct (line 12) | public function __construct(PageRepository $repository)
    method home (line 24) | public function home()
    method all (line 42) | public function all()
    method show (line 60) | public function show($url)

FILE: src/PublishedAssets/Middleware/GrafiteCms.php
  class GrafiteCms (line 8) | class GrafiteCms
    method handle (line 18) | public function handle($request, Closure $next)

FILE: src/PublishedAssets/Middleware/GrafiteCmsApi.php
  class GrafiteCmsApi (line 8) | class GrafiteCmsApi
    method handle (line 18) | public function handle($request, Closure $next)

FILE: src/PublishedAssets/Middleware/GrafiteCmsLanguage.php
  class GrafiteCmsLanguage (line 9) | class GrafiteCmsLanguage
    method handle (line 19) | public function handle($request, Closure $next)

FILE: src/Repositories/BlogRepository.php
  class BlogRepository (line 12) | class BlogRepository extends CmsRepository
    method __construct (line 20) | public function __construct(Blog $model, TranslationRepository $transl...
    method published (line 32) | public function published()
    method tags (line 46) | public function tags($tag)
    method allTags (line 59) | public function allTags()
    method store (line 87) | public function store($payload)
    method findBlogsByURL (line 112) | public function findBlogsByURL($url)
    method findBlogsByTag (line 132) | public function findBlogsByTag($tag)
    method update (line 145) | public function update($blog, $payload)

FILE: src/Repositories/CmsRepository.php
  class CmsRepository (line 9) | class CmsRepository
    method __construct (line 17) | public function __construct(TranslationRepository $translationRepo)
    method all (line 27) | public function all()
    method paginated (line 37) | public function paginated()
    method published (line 55) | public function published()
    method arePublic (line 68) | public function arePublic()
    method search (line 90) | public function search($payload)
    method store (line 111) | public function store($payload)
    method find (line 123) | public function find($id)
    method getBySlug (line 135) | public function getBySlug($slug)
    method getByUrl (line 147) | public function getByUrl($url)
    method update (line 160) | public function update($model, $payload)
    method parseBlocks (line 173) | public function parseBlocks($payload, $module)
    method parseTemplate (line 204) | public function parseTemplate($payload, $currentBlocks, $module)

FILE: src/Repositories/EventRepository.php
  class EventRepository (line 10) | class EventRepository extends CmsRepository
    method __construct (line 18) | public function __construct(Event $model, TranslationRepository $trans...
    method findEventsByDate (line 30) | public function findEventsByDate($date)
    method store (line 45) | public function store($payload)
    method update (line 62) | public function update($event, $payload)

FILE: src/Repositories/FAQRepository.php
  class FAQRepository (line 9) | class FAQRepository extends CmsRepository
    method __construct (line 17) | public function __construct(FAQ $model, TranslationRepository $transla...
    method store (line 31) | public function store($payload)
    method update (line 48) | public function update($item, $payload)

FILE: src/Repositories/FileRepository.php
  class FileRepository (line 13) | class FileRepository extends CmsRepository
    method __construct (line 19) | public function __construct(File $model)
    method store (line 32) | public function store($payload)
    method update (line 59) | public function update($files, $payload)
    method apiPrepared (line 84) | public function apiPrepared()

FILE: src/Repositories/ImageRepository.php
  class ImageRepository (line 12) | class ImageRepository extends CmsRepository
    method __construct (line 18) | public function __construct(Image $model)
    method published (line 24) | public function published()
    method apiPrepared (line 36) | public function apiPrepared()
    method getImagesByTag (line 46) | public function getImagesByTag($tag = null)
    method allTags (line 62) | public function allTags()
    method apiStore (line 85) | public function apiStore($input)
    method store (line 111) | public function store($input)
    method update (line 145) | public function update($image, $input)

FILE: src/Repositories/LinkRepository.php
  class LinkRepository (line 10) | class LinkRepository extends CmsRepository
    method __construct (line 18) | public function __construct(Link $model, TranslationRepository $transl...
    method store (line 32) | public function store($payload)
    method getLinksByMenu (line 66) | public function getLinksByMenu($id)
    method update (line 79) | public function update($link, $payload)

FILE: src/Repositories/MenuRepository.php
  class MenuRepository (line 9) | class MenuRepository extends CmsRepository
    method __construct (line 15) | public function __construct(Menu $model)
    method store (line 28) | public function store($payload)
    method update (line 43) | public function update($menu, $payload)
    method setOrder (line 58) | public function setOrder($menu, $payload)

FILE: src/Repositories/PageRepository.php
  class PageRepository (line 12) | class PageRepository extends CmsRepository
    method __construct (line 20) | public function __construct(Page $model, TranslationRepository $transl...
    method store (line 34) | public function store($payload)
    method findPagesByURL (line 59) | public function findPagesByURL($url)
    method update (line 88) | public function update($page, $payload)

FILE: src/Repositories/PromotionRepository.php
  class PromotionRepository (line 9) | class PromotionRepository extends CmsRepository
    method __construct (line 17) | public function __construct(Promotion $model, TranslationRepository $t...
    method store (line 31) | public function store($payload)
    method update (line 46) | public function update($widget, $payload)

FILE: src/Repositories/TranslationRepository.php
  class TranslationRepository (line 8) | class TranslationRepository
    method __construct (line 12) | public function __construct(Translation $translation)
    method createOrUpdate (line 27) | public function createOrUpdate($entityId, $entityType, $lang, $payload)
    method findByUrl (line 51) | public function findByUrl($url, $type)
    method findByEntityId (line 70) | public function findByEntityId($entityId, $entityType)
    method getEntitiesByTypeAndLang (line 89) | public function getEntitiesByTypeAndLang($lang, $type)

FILE: src/Repositories/WidgetRepository.php
  class WidgetRepository (line 9) | class WidgetRepository extends CmsRepository
    method __construct (line 17) | public function __construct(Widget $model, TranslationRepository $tran...
    method store (line 31) | public function store($payload)
    method update (line 46) | public function update($widget, $payload)

FILE: src/Requests/BlogRequest.php
  class BlogRequest (line 10) | class BlogRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/EventRequest.php
  class EventRequest (line 10) | class EventRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/FAQRequest.php
  class FAQRequest (line 10) | class FAQRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/FileRequest.php
  class FileRequest (line 9) | class FileRequest extends FormRequest
    method authorize (line 16) | public function authorize()
    method rules (line 30) | public function rules()

FILE: src/Requests/ImagesRequest.php
  class ImagesRequest (line 10) | class ImagesRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/LinksRequest.php
  class LinksRequest (line 10) | class LinksRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/MenuRequest.php
  class MenuRequest (line 10) | class MenuRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/PagesRequest.php
  class PagesRequest (line 10) | class PagesRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/PromotionRequest.php
  class PromotionRequest (line 10) | class PromotionRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Requests/WidgetRequest.php
  class WidgetRequest (line 10) | class WidgetRequest extends FormRequest
    method authorize (line 17) | public function authorize()
    method rules (line 31) | public function rules()

FILE: src/Services/AnalyticsService.php
  class AnalyticsService (line 9) | class AnalyticsService
    method __construct (line 11) | public function __construct(Analytics $model)
    method log (line 16) | public function log($request)
    method topReferers (line 36) | public function topReferers($count)
    method topPages (line 44) | public function topPages($count)
    method topBrowsers (line 52) | public function topBrowsers($count)
    method convertDataToItems (line 67) | public function convertDataToItems($data, $key, $conversions = [], $li...
    method getDays (line 96) | public function getDays($count)
    method getDateRange (line 123) | protected function getDateRange($startDate, $endDate)

FILE: src/Services/AssetService.php
  class AssetService (line 18) | class AssetService
    method __construct (line 22) | public function __construct()
    method asPublic (line 34) | public function asPublic($encFileName)
    method asPreview (line 65) | public function asPreview($encFileName, Filesystem $fileSystem)
    method asDownload (line 107) | public function asDownload($encFileName, $encRealFileName)
    method asset (line 142) | public function asset($encPath, $contentType, Filesystem $fileSystem)
    method getMimeType (line 180) | public function getMimeType($extension)
    method getFilePath (line 196) | public function getFilePath($fileName)
    method getFileContent (line 216) | public function getFileContent($fileName, $contentType, $ext)
    method generateImage (line 247) | public function generateImage($ext)

FILE: src/Services/BaseService.php
  class BaseService (line 5) | class BaseService
    method getTemplatesAsOptionsArray (line 14) | public function getTemplatesAsOptionsArray($module)

FILE: src/Services/BlogService.php
  class BlogService (line 8) | class BlogService extends BaseService
    method getTemplatesAsOptions (line 15) | public function getTemplatesAsOptions()

FILE: src/Services/CmsResponseService.php
  class CmsResponseService (line 7) | class CmsResponseService
    method apiResponse (line 17) | public function apiResponse($type, $message, $code = 200)
    method apiErrorResponse (line 30) | public function apiErrorResponse($errors, $inputs)

FILE: src/Services/CmsService.php
  class CmsService (line 17) | class CmsService
    method __construct (line 25) | public function __construct()
    method asset (line 40) | public function asset($path, $contentType = 'null', $fullURL = true)
    method fileAsDownload (line 57) | public function fileAsDownload($fileName, $realFileName)
    method isDefaultLanguage (line 67) | public function isDefaultLanguage()
    method languageLinks (line 84) | public function languageLinks($linkClass = 'nav-link', $itemClass = 'n...
    method notification (line 107) | public function notification($string, $type = null)
    method breadcrumbs (line 124) | public function breadcrumbs($locations)
    method config (line 148) | public function config($key)
    method assignArrayByPath (line 167) | public function assignArrayByPath(&$arr, $path)
    method convertToURL (line 185) | public function convertToURL($string)
    method addToPackages (line 195) | public function addToPackages($dir)
    method editBtn (line 221) | public function editBtn($type = null, $id = null, $class="btn-outline-...
    method url (line 241) | public function url($string)
    method route (line 255) | public function route($string)
    method editBtnSecondary (line 269) | public function editBtnSecondary($type = null, $id = null)
    method rollbackUrl (line 281) | public function rollbackUrl($object)
    method version (line 293) | public function version()
    method collectSiteMapItems (line 312) | public function collectSiteMapItems()

FILE: src/Services/CryptoService.php
  class CryptoService (line 5) | class CryptoService
    method __construct (line 49) | public function __construct()
    method encrypt (line 75) | public function encrypt($value)
    method decrypt (line 92) | public function decrypt($value)
    method url_encode (line 108) | public function url_encode($string)
    method url_decode (line 120) | public function url_decode($string)
    method url_base64_encode (line 132) | protected function url_base64_encode($string)
    method url_base64_decode (line 144) | protected function url_base64_decode($string)

FILE: src/Services/EventService.php
  class EventService (line 11) | class EventService extends BaseService
    method __construct (line 13) | public function __construct(EventRepository $eventRepo)
    method generate (line 27) | public function generate($date = null)
    method calendar (line 61) | public function calendar($date)
    method asHtml (line 92) | public function asHtml($config)
    method links (line 156) | public function links($class = null)
    method getTemplatesAsOptions (line 179) | public function getTemplatesAsOptions()

FILE: src/Services/FileService.php
  class FileService (line 13) | class FileService
    method getFileClass (line 22) | public function getFileClass($file)
    method saveClone (line 40) | public function saveClone($fileName, $directory = '', $fileTypes = [])
    method delete (line 66) | public function delete($path)
    method saveFile (line 83) | public function saveFile($fileName, $directory = '', $fileTypes = [], ...
    method fileAsPublicAsset (line 145) | public function fileAsPublicAsset($fileName)
    method fileAsDownload (line 158) | public function fileAsDownload($fileName, $realFileName)
    method filePreview (line 170) | public function filePreview($fileName)

FILE: src/Services/ModuleService.php
  class ModuleService (line 5) | class ModuleService
    method menus (line 7) | public function menus()

FILE: src/Services/Normalizer.php
  class Normalizer (line 5) | class Normalizer
    method __construct (line 7) | public function __construct($value)
    method __toString (line 12) | public function __toString()
    method plain (line 21) | public function plain()

FILE: src/Services/PageService.php
  class PageService (line 9) | class PageService extends BaseService
    method __construct (line 11) | public function __construct()
    method getPagesAsOptions (line 21) | public function getPagesAsOptions()
    method getTemplatesAsOptions (line 38) | public function getTemplatesAsOptions()
    method pageName (line 50) | public function pageName($id)

FILE: src/Services/Traits/DefaultModuleServiceTrait.php
  type DefaultModuleServiceTrait (line 11) | trait DefaultModuleServiceTrait
    method defaultModules (line 15) | public function defaultModules()
    method widget (line 37) | public function widget($slug)
    method promotion (line 63) | public function promotion($slug)
    method image (line 91) | public function image($id, $class = '')
    method imageLink (line 109) | public function imageLink($id)
    method images (line 127) | public function images($tag = null)

FILE: src/Services/Traits/MenuServiceTrait.php
  type MenuServiceTrait (line 13) | trait MenuServiceTrait
    method packageMenus (line 20) | public function packageMenus()
    method menu (line 37) | public function menu($slug, $view = null, $class = '')
    method sortByKeys (line 99) | public function sortByKeys($links, $keys)

FILE: src/Services/Traits/ModuleServiceTrait.php
  type ModuleServiceTrait (line 8) | trait ModuleServiceTrait
    method getModule (line 15) | public function getModule()
    method moduleAsset (line 40) | public function moduleAsset($module, $path, $contentType = 'null')
    method moduleConfig (line 60) | public function moduleConfig($module, $path)
    method moduleLinks (line 78) | public function moduleLinks($ignoredModules = [], $linkClass = 'nav-li...

FILE: src/Services/ValidationService.php
  class ValidationService (line 12) | class ValidationService
    method check (line 23) | public function check($form, $jsonInput = false)
    method jsonCheck (line 79) | public function jsonCheck($form, $module = null)
    method errors (line 91) | public function errors($format = 'array')
    method inputs (line 116) | public function inputs()
    method getInput (line 135) | private function getInput($key, $jsonInput)
    method inputsArray (line 155) | private function inputsArray($jsonInput)
    method value (line 182) | public function value($key)

FILE: src/Traits/Translatable.php
  type Translatable (line 10) | trait Translatable
    method translation (line 19) | public function translation($lang)
    method translationData (line 42) | public function translationData($lang)
    method getTranslationsAttribute (line 64) | public function getTranslationsAttribute()
    method afterCreate (line 81) | public function afterCreate($payload)

FILE: tests/Console/ModuleMakeTest.php
  class ModuleMakeTest (line 9) | class ModuleMakeTest extends TestCase
    method setUp (line 14) | public function setUp(): void
    method testControllerGenerator (line 56) | public function testControllerGenerator()
    method testRequestGenerator (line 67) | public function testRequestGenerator()
    method testServiceGenerator (line 78) | public function testServiceGenerator()
    method testRoutesGenerator (line 89) | public function testRoutesGenerator()
    method testViewsGenerator (line 101) | public function testViewsGenerator()
    method testTestGenerator (line 112) | public function testTestGenerator()
    method testTestGeneratorServiceOnly (line 127) | public function testTestGeneratorServiceOnly()
    method testFactoryGenerator (line 140) | public function testFactoryGenerator()

FILE: tests/Feature/BlogTest.php
  class BlogTest (line 8) | class BlogTest extends TestCase
    method setUp (line 10) | public function setUp(): void
    method testIndex (line 24) | public function testIndex()
    method testCreate (line 31) | public function testCreate()
    method testEdit (line 38) | public function testEdit()
    method testStore (line 53) | public function testStore()
    method testSearch (line 62) | public function testSearch()
    method testUpdate (line 70) | public function testUpdate()
    method testUpdateTranslation (line 84) | public function testUpdateTranslation()
    method testDelete (line 101) | public function testDelete()

FILE: tests/Feature/DashboardTest.php
  class DashboardTest (line 7) | class DashboardTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 22) | public function testIndex()

FILE: tests/Feature/EventsTest.php
  class EventsTest (line 7) | class EventsTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testSearch (line 59) | public function testSearch()
    method testUpdate (line 67) | public function testUpdate()
    method testUpdateTranslation (line 80) | public function testUpdateTranslation()
    method testDelete (line 96) | public function testDelete()

FILE: tests/Feature/FAQTest.php
  class FAQTest (line 7) | class FAQTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testSearch (line 61) | public function testSearch()
    method testUpdate (line 69) | public function testUpdate()
    method testUpdateTranslation (line 81) | public function testUpdateTranslation()
    method testDelete (line 96) | public function testDelete()

FILE: tests/Feature/FilesTest.php
  class FilesTest (line 7) | class FilesTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testSearch (line 67) | public function testSearch()
    method testUpdate (line 75) | public function testUpdate()
    method testDelete (line 84) | public function testDelete()

FILE: tests/Feature/ImagesTest.php
  class ImagesTest (line 7) | class ImagesTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testUpdate (line 68) | public function testUpdate()
    method testDelete (line 77) | public function testDelete()

FILE: tests/Feature/LinksTest.php
  class LinksTest (line 7) | class LinksTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testCreate (line 25) | public function testCreate()
    method testEdit (line 31) | public function testEdit()
    method testStore (line 44) | public function testStore()
    method testUpdate (line 53) | public function testUpdate()
    method testDelete (line 62) | public function testDelete()

FILE: tests/Feature/MenuTest.php
  class MenuTest (line 7) | class MenuTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testSearch (line 57) | public function testSearch()
    method testUpdate (line 65) | public function testUpdate()
    method testDelete (line 74) | public function testDelete()

FILE: tests/Feature/PagesTest.php
  class PagesTest (line 7) | class PagesTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testSearch (line 59) | public function testSearch()
    method testUpdate (line 67) | public function testUpdate()
    method testUpdateTranslation (line 82) | public function testUpdateTranslation()
    method testDelete (line 100) | public function testDelete()

FILE: tests/Feature/PromotionsTest.php
  class PromotionsTest (line 7) | class PromotionsTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testUpdate (line 61) | public function testUpdate()
    method testUpdateTranslation (line 78) | public function testUpdateTranslation()
    method testDelete (line 97) | public function testDelete()

FILE: tests/Feature/WidgetsTest.php
  class WidgetsTest (line 7) | class WidgetsTest extends TestCase
    method setUp (line 9) | public function setUp(): void
    method testIndex (line 23) | public function testIndex()
    method testCreate (line 30) | public function testCreate()
    method testEdit (line 36) | public function testEdit()
    method testStore (line 49) | public function testStore()
    method testUpdate (line 59) | public function testUpdate()
    method testUpdateTranslation (line 73) | public function testUpdateTranslation()
    method testDelete (line 90) | public function testDelete()

FILE: tests/Services/AssetServiceTest.php
  class AssetServiceTest (line 10) | class AssetServiceTest extends TestCase
    method setUp (line 12) | public function setUp(): void
    method testAsPublic (line 19) | public function testAsPublic()
    method testAsPreview (line 28) | public function testAsPreview()
    method testAsDownload (line 40) | public function testAsDownload()
    method testAsset (line 50) | public function testAsset()
    method testGetMimeType (line 61) | public function testGetMimeType()
    method testGetFilePath (line 68) | public function testGetFilePath()

FILE: tests/Services/BlogServiceTest.php
  class BlogServiceTest (line 9) | class BlogServiceTest extends TestCase
    method setUp (line 11) | public function setUp(): void
    method testGetTemplatesAsOptions (line 18) | public function testGetTemplatesAsOptions()

FILE: tests/Services/CmsServiceTest.php
  class CmsServiceTest (line 8) | class CmsServiceTest extends TestCase
    method setUp (line 10) | public function setUp(): void
    method testDefaultLanguage (line 17) | public function testDefaultLanguage()
    method testNotifications (line 24) | public function testNotifications()
    method testBreadcrumbs (line 32) | public function testBreadcrumbs()

FILE: tests/Services/CryptoServiceTest.php
  class CryptoServiceTest (line 8) | class CryptoServiceTest extends TestCase
    method setUp (line 10) | public function setUp(): void
    method testEncrypt (line 18) | public function testEncrypt()
    method testDecrypt (line 25) | public function testDecrypt()

FILE: tests/Services/EventServiceTest.php
  class EventServiceTest (line 9) | class EventServiceTest extends TestCase
    method setUp (line 11) | public function setUp(): void
    method testGenerate (line 18) | public function testGenerate()
    method testCalendar (line 26) | public function testCalendar()
    method testAsHtml (line 34) | public function testAsHtml()
    method testLinks (line 49) | public function testLinks()

FILE: tests/Services/NormalizerTest.php
  class NormalizerTest (line 8) | class NormalizerTest extends TestCase
    method setUp (line 10) | public function setUp(): void
    method testToString (line 17) | public function testToString()
    method testPlain (line 24) | public function testPlain()

FILE: tests/Services/PageServiceTest.php
  class PageServiceTest (line 9) | class PageServiceTest extends TestCase
    method setUp (line 11) | public function setUp(): void
    method testGetPagesAsOptions (line 20) | public function testGetPagesAsOptions()
    method testGetTemplatesAsOptions (line 28) | public function testGetTemplatesAsOptions()
    method testGetPageName (line 36) | public function testGetPageName()

FILE: tests/TestCase.php
  class TestCase (line 5) | class TestCase extends \Orchestra\Testbench\TestCase
    method getEnvironmentSetUp (line 12) | protected function getEnvironmentSetUp($app)
    method getPackageProviders (line 37) | protected function getPackageProviders($app)
    method setUp (line 49) | public function setUp(): void
Condensed preview — 442 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,186K chars).
[
  {
    "path": ".gitattributes",
    "chars": 64,
    "preview": "src/Assets/* linguist-vendored\nsrc/Templates/* linguist-vendored"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 799,
    "preview": "---\nname: Bug report\nabout: Create a report to help us improve\n\n---\n\n**Describe the bug**\nA clear and concise descriptio"
  },
  {
    "path": ".gitignore",
    "chars": 66,
    "preview": "/vendor\ncomposer.phar\ncomposer.lock\n.DS_Store\n/node_modules\n.idea\n"
  },
  {
    "path": ".travis.yml",
    "chars": 161,
    "preview": "language: php\n\nphp:\n  - 7.1\n\nbefore_script:\n  - travis_retry composer self-update\n  - travis_retry composer install --no"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 1936,
    "preview": "# Contributions are always welcome\n\n## Quick guide\n\n * Fork the repo.\n * Checkout the branch you want to make changes on"
  },
  {
    "path": "LICENSE.md",
    "chars": 1072,
    "preview": "The MIT License (MIT)\nCopyright (c) Grafite Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining "
  },
  {
    "path": "README.md",
    "chars": 26358,
    "preview": "# Grafite CMS\n\n> Grafite has archived this project and no longer supports or develops this code. We recommend using only"
  },
  {
    "path": "changelog.md",
    "chars": 11371,
    "preview": "# Change Log - Grafite CMS\nAll notable changes to this project will be documented in this file.\nThis project adheres to "
  },
  {
    "path": "composer.json",
    "chars": 1546,
    "preview": "{\n    \"name\": \"grafite/cms\",\n    \"description\": \"Add a CMS to any Laravel app/website to gain control of: pages, blogs, "
  },
  {
    "path": "package.json",
    "chars": 919,
    "preview": "{\n    \"private\": true,\n    \"scripts\": {\n        \"dev\": \"npm run development\",\n        \"development\": \"cross-env NODE_ENV"
  },
  {
    "path": "phpunit.xml",
    "chars": 709,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit backupGlobals=\"false\"\n         backupStaticAttributes=\"false\"\n         b"
  },
  {
    "path": "src/Assets/dist/css/all.css",
    "chars": 162857,
    "preview": "/*\n * The MIT License\n * Copyright (c) 2012 Matias Meno <m@tias.me>\n */\n.dropzone, .dropzone * {\n  box-sizing: border-bo"
  },
  {
    "path": "src/Assets/dist/css/cms.css",
    "chars": 4631,
    "preview": "html{position:relative;min-height:100%}body{margin-bottom:60px}.form-small{width:100%;max-width:330px;padding:15px;margi"
  },
  {
    "path": "src/Assets/dist/css/vendor.css",
    "chars": 135113,
    "preview": ".dropzone,.dropzone *{box-sizing:border-box}.dropzone{position:relative}.dropzone .dz-preview{position:relative;display:"
  },
  {
    "path": "src/Assets/dist/js/all.js",
    "chars": 12975,
    "preview": "\n/*\n|--------------------------------------------------------------------------\n| Generals\n|----------------------------"
  },
  {
    "path": "src/Assets/dist/js/cms.js",
    "chars": 6627,
    "preview": "function cmsNotify(e,t){$(\".cms-notification\").css(\"display\",\"block\"),$(\".cms-notification\").attr(\"class\",\"cms-notificat"
  },
  {
    "path": "src/Assets/dist/js/vendor.js",
    "chars": 646744,
    "preview": "!function(t,e){\"function\"==typeof define&&define.amd?define(\"bloodhound\",[\"jquery\"],function(i){return t.Bloodhound=e(i)"
  },
  {
    "path": "src/Assets/dist/mix-manifest.json",
    "chars": 151,
    "preview": "{\n    \"/css/cms.css\": \"/css/cms.css\",\n    \"/js/vendor.js\": \"/js/vendor.js\",\n    \"/js/cms.js\": \"/js/cms.js\",\n    \"/css/ve"
  },
  {
    "path": "src/Assets/mimes.php",
    "chars": 22829,
    "preview": "<?php\n\n/*\n * --------------------------------------------------------------------------\n * Mimes\n * --------------------"
  },
  {
    "path": "src/Assets/src/js/cms.js",
    "chars": 3694,
    "preview": "/*\n|--------------------------------------------------------------------------\n| Sidebar\n|------------------------------"
  },
  {
    "path": "src/Assets/src/js/dashboard-chart.js",
    "chars": 865,
    "preview": "/*\n|--------------------------------------------------------------------------\n| Charts\n|-------------------------------"
  },
  {
    "path": "src/Assets/src/js/dashboard.js",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/Assets/src/js/dropzone-custom.js",
    "chars": 1042,
    "preview": "Dropzone.options.fileDropzone = {\n    paramName: \"location\",\n    addRemoveLinks: true,\n    autoProcessQueue: false,\n    "
  },
  {
    "path": "src/Assets/src/js/forms.js",
    "chars": 2003,
    "preview": "/*\n|--------------------------------------------------------------------------\n| Grafite CMS\n|--------------------------"
  },
  {
    "path": "src/Assets/src/js/modules.js",
    "chars": 5458,
    "preview": "/*\n * --------------------------------------------------------------------------\n * General\n * -------------------------"
  },
  {
    "path": "src/Assets/src/js/vendor/dropzone.js",
    "chars": 63003,
    "preview": "\n/*\n *\n * More info at [www.dropzonejs.com](http://www.dropzonejs.com)\n *\n * Copyright (c) 2012, Matias Meno\n *\n * Permi"
  },
  {
    "path": "src/Assets/src/js/vendor/typeahead.bundle.js",
    "chars": 96186,
    "preview": "/*!\n * typeahead.js 0.11.1\n * https://github.com/twitter/typeahead.js\n * Copyright 2013-2015 Twitter, Inc. and other con"
  },
  {
    "path": "src/Assets/src/sass/_base.scss",
    "chars": 5862,
    "preview": "html {\n    position: relative;\n    min-height: 100%;\n}\n\nbody {\n    /* Margin bottom by footer height */\n    margin-botto"
  },
  {
    "path": "src/Assets/src/sass/_modules.scss",
    "chars": 416,
    "preview": ".dropzone {\n    border: dotted;\n    margin-bottom: 24px;\n}\n\n.dz-message {\n    margin-top: 3em !important;\n}\n\n.bootstrap-"
  },
  {
    "path": "src/Assets/src/sass/_sidebar.scss",
    "chars": 1475,
    "preview": "\n.sidebar {\n    width: 320px;\n    position: fixed;\n    top: 60px;\n    bottom: 60px;\n    left: 0;\n    z-index: 100; /* Be"
  },
  {
    "path": "src/Assets/src/sass/cms.scss",
    "chars": 242,
    "preview": "/*\n|--------------------------------------------------------------------------\n| Grafite CMS\n|--------------------------"
  },
  {
    "path": "src/Assets/src/vendor/datepicker/bootstrap-datetimepicker-standalone.css",
    "chars": 2438,
    "preview": "/*!\n * Datetimepicker for Bootstrap 3\n * version : 4.17.37\n * https://github.com/Eonasdan/bootstrap-datetimepicker/\n */\n"
  },
  {
    "path": "src/Assets/src/vendor/datepicker/bootstrap-datetimepicker.css",
    "chars": 9434,
    "preview": "/*!\n * Datetimepicker for Bootstrap 3\n * version : 4.17.47\n * https://github.com/Eonasdan/bootstrap-datetimepicker/\n */\n"
  },
  {
    "path": "src/Assets/src/vendor/datepicker/moment-timezone.js",
    "chars": 184186,
    "preview": "//! moment-timezone.js\n//! version : 0.5.13\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//!"
  },
  {
    "path": "src/Assets/src/vendor/datepicker/moment.js",
    "chars": 51465,
    "preview": "//! moment.js\n//! version : 2.18.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! "
  },
  {
    "path": "src/Assets/src/vendor/dropzone/basic.css",
    "chars": 1082,
    "preview": "/*\n * The MIT License\n * Copyright (c) 2012 Matias Meno <m@tias.me>\n */\n.dropzone, .dropzone * {\n  box-sizing: border-bo"
  },
  {
    "path": "src/Assets/src/vendor/dropzone/dropzone-amd-module.js",
    "chars": 63400,
    "preview": "// Uses AMD or browser globals to create a jQuery plugin.\n(function (factory) {\n  if (typeof define === 'function' && de"
  },
  {
    "path": "src/Assets/src/vendor/dropzone/dropzone.css",
    "chars": 12587,
    "preview": "/*\n * The MIT License\n * Copyright (c) 2012 Matias Meno <m@tias.me>\n */\n@-webkit-keyframes passing-through {\n  0% {\n    "
  },
  {
    "path": "src/Assets/src/vendor/dropzone/dropzone.js",
    "chars": 63014,
    "preview": "\n/*\n *\n * More info at [www.dropzonejs.com](http://www.dropzonejs.com)\n *\n * Copyright (c) 2012, Matias Meno\n *\n * Permi"
  },
  {
    "path": "src/Assets/src/vendor/dropzone/readme.md",
    "chars": 338,
    "preview": "# Warning!\n\nYou shouldn't pull these files from the github master branch directly!\n\nThey might be outdated or not workin"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/ar.js",
    "chars": 1931,
    "preview": "(function($R)\n{\n    $R.lang['ar'] = {\n        \"format\": \"تنسيق\",\n        \"image\": \"صورة\",\n        \"file\": \"ملف\",\n       "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/cs.js",
    "chars": 1762,
    "preview": "(function($R)\r\n{\r\n\t$R.lang['cs'] = {\r\n\t\t\"format\": \"Formát\",\r\n\t\t\"image\": \"Obrázek\",\r\n\t\t\"file\": \"Soubor\",\r\n\t\t\"link\": \"Odka"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/da.js",
    "chars": 2005,
    "preview": "(function($R)\n{\n    $R.lang['da'] = {\n        \"format\": \"Format\",\n        \"image\": \"Billede\",\n        \"file\": \"Fil\",\n   "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/de.js",
    "chars": 2063,
    "preview": "(function($R)\n{\n    $R.lang['de'] = {\n        \"format\": \"Format\",\n        \"image\": \"Bild\",\n        \"file\": \"Datei\",\n    "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/en.js",
    "chars": 1931,
    "preview": "(function($R)\n{\n    $R.lang['en'] = {\n        \"format\": \"Format\",\n        \"image\": \"Image\",\n        \"file\": \"File\",\n    "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/es.js",
    "chars": 2008,
    "preview": "(function($R)\n{\n    $R.lang['es'] = {\n        \"format\": \"Formato\",\n        \"image\": \"Imagen\",\n        \"file\": \"Archivo\","
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/fa.js",
    "chars": 1921,
    "preview": "(function($R)\n{\n    $R.lang['fa'] = {\n        \"format\": \"فرمت\",\n        \"image\": \"تصویر\",\n        \"file\": \"فایل\",\n      "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/fi.js",
    "chars": 2045,
    "preview": "(function($R)\n{\n    $R.lang['fi'] = {\n        \"format\": \"Muotoilut\",\n        \"image\": \"Kuva\",\n        \"file\": \"Tiedosto\""
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/fr.js",
    "chars": 2010,
    "preview": "(function($R)\n{\n    $R.lang['fr'] = {\n        \"format\": \"Format\",\n        \"image\": \"Image\",\n        \"file\": \"Fichier\",\n "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/he.js",
    "chars": 1908,
    "preview": "(function($R)\n{\n    $R.lang['he'] = {\n        \"format\": \"פורמט\",\n        \"image\": \"תמונה\",\n        \"file\": \"קובץ\",\n     "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/hu.js",
    "chars": 2038,
    "preview": "(function($R)\n{\n    $R.lang['hu'] = {\n        \"format\": \"Formázás\",\n        \"image\": \"Kép\",\n        \"file\": \"Fájl\",\n    "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/it.js",
    "chars": 1983,
    "preview": "(function($R)\n{\n    $R.lang['it'] = {\n        \"format\": \"Formato\",\n        \"image\": \"Immagine\",\n        \"file\": \"File\",\n"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/ja.js",
    "chars": 1832,
    "preview": "(function($R)\n{\n    $R.lang['ja'] = {\n        \"format\": \"フォーマットする\",\n        \"image\": \"画像\",\n        \"file\": \"ファイル\",\n     "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/ko.js",
    "chars": 1777,
    "preview": "(function($R)\n{\n    $R.lang['ko'] = {\n        \"format\": \"포맷\",\n        \"image\": \"이미지\",\n        \"file\": \"파일\",\n        \"lin"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/nl.js",
    "chars": 2007,
    "preview": "(function($R)\n{\n    $R.lang['nl'] = {\n        \"format\": \"Format\",\n        \"image\": \"Afbeelding\",\n        \"file\": \"Bestan"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/no.js",
    "chars": 2063,
    "preview": "(function($R)\r\n{\r\n    $R.lang['no'] = {\r\n        \"format\": \"Format\",\r\n        \"image\": \"Bilde\",\r\n        \"file\": \"Fil\",\r"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/pl.js",
    "chars": 2019,
    "preview": "(function($R)\n{\n    $R.lang['pl'] = {\n        \"format\": \"Formatuj\",\n        \"image\": \"Obrazek\",\n        \"file\": \"Plik\",\n"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/pt_br.js",
    "chars": 1989,
    "preview": "(function($R)\n{\n    $R.lang['pt_br'] = {\n        \"format\": \"Formato\",\n        \"image\": \"Imagem\",\n        \"file\": \"Arquiv"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/ru.js",
    "chars": 2093,
    "preview": "(function($R)\n{\n    $R.lang['ru'] = {\n        \"format\": \"Формат\",\n        \"image\": \"Картинка\",\n        \"file\": \"Файл\",\n "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/sk.js",
    "chars": 2005,
    "preview": "(function($R)\n{\n    $R.lang['sk'] = {\n        \"format\": \"Formát\",\n        \"image\": \"Obrázok\",\n        \"file\": \"Súbor\",\n "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/sl.js",
    "chars": 2040,
    "preview": "(function($R)\n{\n    $R.lang['sl'] = {\n        \"format\": \"Oblikovanje\",\n        \"image\": \"Slika\",\n        \"file\": \"Datote"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/sv.js",
    "chars": 2895,
    "preview": "(function($R)\n{\n    $R.lang['sv'] = {\n        \"format\": \"Format\",\n        \"image\": \"Bild\",\n        \"file\": \"Fil\",\n      "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/tr.js",
    "chars": 1971,
    "preview": "(function($R)\n{\n    $R.lang['tr'] = {\n        \"format\": \"Format\",\n        \"image\": \"Görsel\",\n        \"file\": \"Dosya\",\n  "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/zh_cn.js",
    "chars": 1769,
    "preview": "(function($R)\n{\n    $R.lang['zh_cn'] = {\n        \"format\": \"格式\",\n        \"image\": \"图片\",\n        \"file\": \"文件\",\n        \"l"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_langs/zh_tw.js",
    "chars": 1793,
    "preview": "(function($R)\n{\n    $R.lang['zh_tw'] = {\n        \"format\": \"樣式\",\n        \"image\": \"插入圖片\",\n        \"file\": \"插入文件\",\n      "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/alignment/alignment.js",
    "chars": 1600,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'alignment', {\n        translations: {\n    \t\ten: {\n    \t\t\t\"align\": \"Align\",\n    \t\t\t"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/beyondgrammar/beyondgrammar.js",
    "chars": 1893,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'beyondgrammar', {\n        init: function(app)\n        {\n            this.app = app"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/clips/clips.css",
    "chars": 403,
    "preview": ".redactor-clips-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n}\n.redactor-clips-list li {\n    display: inl"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/clips/clips.js",
    "chars": 2645,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'clips', {\n        translations: {\n    \t\ten: {\n    \t\t\t\"clips\": \"Clips\",\n    \t\t\t\"cli"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/counter/counter.js",
    "chars": 2022,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'counter', {\n        translations: {\n    \t\ten: {\n    \t\t\t\"words\": \"words\",\n    \t\t\t\"c"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/definedlinks/definedlinks.js",
    "chars": 2348,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'definedlinks', {\n        init: function(app)\n        {\n            this.app = app;"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/filemanager/filemanager.css",
    "chars": 819,
    "preview": "#redactor-filemanager-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n}\n#redactor-filemanager-list li {\n    "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/filemanager/filemanager.js",
    "chars": 2340,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'filemanager', {\n        translations: {\n    \t\ten: {\n    \t\t\t\"choose\": \"Choose\"\n    "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/fileselector/fileselector.js",
    "chars": 3964,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'fileselector', {\n        init: function(app)\n        {\n            // define app\n "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/fontcolor/fontcolor.js",
    "chars": 5428,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'fontcolor', {\n        translations: {\n            en: {\n                \"fontcolor"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/fontfamily/fontfamily.js",
    "chars": 1548,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'fontfamily', {\n        translations: {\n            en: {\n                \"fontfami"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/fontsize/fontsize.js",
    "chars": 1393,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'fontsize', {\n        translations: {\n            en: {\n                \"size\": \"Si"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/fullscreen/fullscreen.js",
    "chars": 4632,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'fullscreen', {\n        translations: {\n            en: {\n    \t\t\t\"fullscreen\": \"Ful"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/handle/handle.css",
    "chars": 673,
    "preview": "#redactor-handle-list {\n    font-family: \"Trebuchet MS\", 'Helvetica Neue', Helvetica, Tahoma, sans-serif;\n    display: n"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/handle/handle.js",
    "chars": 5647,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'handle', {\n        init: function(app)\n        {\n            this.app = app;\n     "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/imagemanager/imagemanager.js",
    "chars": 1954,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'imagemanager', {\n        translations: {\n    \t\ten: {\n    \t\t\t\"choose\": \"Choose\"\n   "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/imageselector/imageselector.js",
    "chars": 4268,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'imageselector', {\n        init: function(app)\n        {\n            // define app\n"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/inlinestyle/inlinestyle.css",
    "chars": 1038,
    "preview": ".redactor-dropdown-inline .redactor-dropdown-item-marked span {\n\tfont-size: 14px;\n\tbackground-color: #fdb833;\n\tcolor: #0"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/inlinestyle/inlinestyle.js",
    "chars": 1326,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'inlinestyle', {\n        translations: {\n            en: {\n                \"style\":"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/limiter/limiter.js",
    "chars": 2015,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'limiter', {\n        init: function(app)\n        {\n            this.app = app;\n    "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/properties/properties.js",
    "chars": 5140,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'properties', {\n        modals: {\n            'properties':\n                '<form "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/specialchars/specialchars.js",
    "chars": 3058,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'specialchars', {\n        translations: {\n    \t\ten: {\n    \t\t\t\"specialchars\": \"Speci"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/stockimagemanager/stockimagemanager.js",
    "chars": 6616,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'stockimagemanager', {\n        init: function(app)\n        {\n            // define "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/table/table.js",
    "chars": 13749,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'table', {\n        translations: {\n            en: {\n        \t\t\"table\": \"Table\",\n  "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/textdirection/textdirection.js",
    "chars": 1139,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'textdirection', {\n        translations: {\n    \t\ten: {\n    \t\t\t\"change-text-directio"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/textexpander/textexpander.js",
    "chars": 1800,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'textexpander', {\n        init: function(app)\n        {\n            this.app = app;"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/variable/variable.css",
    "chars": 507,
    "preview": ".redactor-variables-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n}\n.redactor-variables-list li {\n    disp"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/variable/variable.js",
    "chars": 5649,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'variable', {\n        translations: {\n            en: {\n                \"change\": \""
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/video/video.js",
    "chars": 5364,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'video', {\n        translations: {\n            en: {\n                \"video\": \"Vide"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_plugins/widget/widget.js",
    "chars": 6226,
    "preview": "(function($R)\n{\n    $R.add('plugin', 'widget', {\n        translations: {\n            en: {\n                \"widget\": \"Wi"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/accessibility.scss",
    "chars": 41,
    "preview": ".redactor-voice-label {\n\tdisplay: none;\n}"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/animation.scss",
    "chars": 337,
    "preview": "@keyframes fadeIn {\n    from { opacity: 0; }\n    to   { opacity: 1; }\n}\n@keyframes fadeOut {\n    from { opacity: 1; }\n  "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/base.scss",
    "chars": 4710,
    "preview": "// Zindex\n.redactor-box,\n.redactor-box textarea {\n\tz-index: auto;\n}\n\n// Base\n.redactor-box {\n    position: relative;\n\tbo"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/context.scss",
    "chars": 1224,
    "preview": ".redactor-context-toolbar {\n    position: absolute;\n    top: 0;\n    left: 0;\n    z-index: $z-index-contextbar;\n\tbackgrou"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/dropdown.scss",
    "chars": 2457,
    "preview": ".redactor-dropdown {\n    font-family: $base-font-family;\n    display: none;\n    position: absolute;\n    z-index: $z-inde"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/fullscreen.scss",
    "chars": 514,
    "preview": ".redactor-box-fullscreen {\n\tz-index: $z-index-fullscreen;\n    position: fixed;\n    top: 0;\n    left: 0;\n    width: 100%;"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/icons.scss",
    "chars": 16687,
    "preview": "@font-face {\n  font-family: 'Redactor';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1M"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/mixins.scss",
    "chars": 559,
    "preview": "// Power Function\n@function pow($number, $exponent) {\n  $value: 1;\n\n  @if $exponent > 0 {\n    @for $i from 1 through $ex"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/modal.scss",
    "chars": 7993,
    "preview": "#redactor-modal {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tz"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/placeholder.scss",
    "chars": 361,
    "preview": ".redactor-placeholder:before {\n    position: absolute;\n    content: attr(placeholder);\n    color: rgba(0, 0, 0, .4);\n   "
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/progress.scss",
    "chars": 1323,
    "preview": "@mixin striped-redactor($color: rgba(255, 255, 255, .2), $angle: 45deg) {\n\tbackground-image: -webkit-linear-gradient($an"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/redactor.scss",
    "chars": 623,
    "preview": "/*\n    Redactor 3\n\n    http://imperavi.com/redactor/\n\n    Copyright (c) 2009-2018, Imperavi LLC.\n    License: http://imp"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/source.scss",
    "chars": 479,
    "preview": ".redactor-source,\n.redactor-source:hover,\n.redactor-source:focus {\n    text-align: left;\n\tbox-sizing: border-box;\n    fo"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/statusbar.scss",
    "chars": 723,
    "preview": ".redactor-statusbar {\n    font-family: $monospace-font-family;\n    margin: 0;\n    padding: 8px 10px;\n    position: relat"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/structure.scss",
    "chars": 493,
    "preview": ".redactor-structure {\n\n\th1, h2, h3, h4, h5, h6, div {\n\t\tposition: relative;\n\t\t&:before {\n\t\t\twidth: 24px;\n\t\t\tposition: ab"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/styles.scss",
    "chars": 3973,
    "preview": ".redactor-styles {\n\n    // ui\n    margin: 0;\n    padding: 16px 18px;\n\n    // content\n    color: $color-text;\n    font-fa"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/toolbar-air.scss",
    "chars": 876,
    "preview": ".redactor-toolbar-wrapper-air {\n    position: absolute;\n    z-index: $z-index-toolbar-wrraper-air;\n}\n.redactor-air {\n\tpa"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/toolbar.scss",
    "chars": 2542,
    "preview": ".redactor-toolbar-wrapper {\n    position: relative;\n}\n.redactor-toolbar,\n.redactor-air {\n    z-index: $z-index-toolbar;\n"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/upload.scss",
    "chars": 653,
    "preview": ".upload-box {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: bord"
  },
  {
    "path": "src/Assets/src/vendor/redactor/_scss/variables.scss",
    "chars": 2309,
    "preview": "// Z-INDEX\n// ---------------------------------------------------------------------------\n$z-index-toolbar: 100 !default"
  },
  {
    "path": "src/Assets/src/vendor/redactor/redactor.css",
    "chars": 48813,
    "preview": "/*\n    Redactor 3\n\n    http://imperavi.com/redactor/\n\n    Copyright (c) 2009-2018, Imperavi LLC.\n    License: http://imp"
  },
  {
    "path": "src/Assets/src/vendor/redactor/redactor.js",
    "chars": 492915,
    "preview": "/*\n    Redactor\n    Version 3.1.1\n    Updated: August 12, 2018\n\n    http://imperavi.com/redactor/\n\n    Copyright (c) 200"
  },
  {
    "path": "src/Assets/themes/dark.css",
    "chars": 190196,
    "preview": "/*!\n * Bootswatch v4.0.0\n * Homepage: https://bootswatch.com\n * Copyright 2012-2018 Thomas Park\n * Licensed under MIT\n *"
  },
  {
    "path": "src/Assets/themes/standard.css",
    "chars": 379717,
    "preview": "/*!\n * Bootswatch v4.0.0\n * Homepage: https://bootswatch.com\n * Copyright 2012-2018 Thomas Park\n * Licensed under MIT\n *"
  },
  {
    "path": "src/Console/Keys.php",
    "chars": 1231,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Illuminate\\Console\\Command;\n\nclass Keys extends Command\n{\n    /**\n     * The "
  },
  {
    "path": "src/Console/ModuleComposer.php",
    "chars": 3098,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Filesystem\\Filesystem;\nuse Illumin"
  },
  {
    "path": "src/Console/ModuleCrud.php",
    "chars": 10175,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Artisan;\nuse Config;\nuse Exception;\nuse Illuminate\\Console\\Command;\nuse Illum"
  },
  {
    "path": "src/Console/ModuleMake.php",
    "chars": 6301,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Artisan;\nuse Config;\nuse Exception;\nuse Illuminate\\Console\\Command;\nuse Grafi"
  },
  {
    "path": "src/Console/ModulePublish.php",
    "chars": 3595,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Filesystem\\Filesystem;\nuse Illumin"
  },
  {
    "path": "src/Console/ThemeGenerate.php",
    "chars": 2916,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Filesystem\\Filesystem;\n\nclass Them"
  },
  {
    "path": "src/Console/ThemeLink.php",
    "chars": 830,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Filesystem\\Filesystem;\n\nclass Them"
  },
  {
    "path": "src/Console/ThemePublish.php",
    "chars": 1872,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Console;\n\nuse Illuminate\\Console\\Command;\nuse Illuminate\\Filesystem\\Filesystem;\n\nclass Them"
  },
  {
    "path": "src/Controllers/ApiController.php",
    "chars": 2228,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facade"
  },
  {
    "path": "src/Controllers/AssetController.php",
    "chars": 1505,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Illuminate\\Filesystem\\Filesystem;\nuse Grafite\\Cms\\Services\\AssetService;\n"
  },
  {
    "path": "src/Controllers/BlogController.php",
    "chars": 4236,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Cms;\nuse Grafite\\Cms\\Models\\Blog;\nuse Illuminate\\Http\\Request;\nuse Grafit"
  },
  {
    "path": "src/Controllers/DashboardController.php",
    "chars": 1570,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Grafite\\Cms\\Services\\AnalyticsService;\nuse Illuminate\\Support\\Facades\\Sch"
  },
  {
    "path": "src/Controllers/EventController.php",
    "chars": 4120,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse URL;\nuse Cms;\nuse Grafite\\Cms\\Models\\Event;\nuse Illuminate\\Http\\Request;\n"
  },
  {
    "path": "src/Controllers/FAQController.php",
    "chars": 3944,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse URL;\nuse Cms;\nuse Grafite\\Cms\\Models\\FAQ;\nuse Illuminate\\Http\\Request;\nus"
  },
  {
    "path": "src/Controllers/FilesController.php",
    "chars": 6008,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Cms;\nuse Config;\nuse Storage;\nuse Redirect;\nuse Response;\nuse Exception;\n"
  },
  {
    "path": "src/Controllers/GrafiteCmsController.php",
    "chars": 553,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Illuminate\\Foundation\\Bus\\DispatchesJobs;\nuse Illuminate\\Routing\\Controll"
  },
  {
    "path": "src/Controllers/GrafiteCmsFeatureController.php",
    "chars": 4187,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Cms;\nuse Grafite\\Cms\\Models\\Archive;\nuse Grafite\\Cms\\Services\\FileService"
  },
  {
    "path": "src/Controllers/HelpController.php",
    "chars": 170,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nclass HelpController extends GrafiteCmsController\n{\n    public function main("
  },
  {
    "path": "src/Controllers/ImagesController.php",
    "chars": 7699,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Config;\nuse CryptoService;\nuse FileService;\nuse Illuminate\\Http\\Request;\n"
  },
  {
    "path": "src/Controllers/LinksController.php",
    "chars": 4214,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Cms;\nuse Exception;\nuse Grafite\\Cms\\Models\\Link;\nuse Illuminate\\Http\\Requ"
  },
  {
    "path": "src/Controllers/MenuController.php",
    "chars": 5023,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Exception;\nuse Illuminate\\Http\\Request;\nuse Cms;\nuse Grafite\\Cms\\Models\\M"
  },
  {
    "path": "src/Controllers/PagesController.php",
    "chars": 4082,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Cms;\nuse Grafite\\Cms\\Models\\Page;\nuse Illuminate\\Http\\Request;\nuse Grafit"
  },
  {
    "path": "src/Controllers/PromotionsController.php",
    "chars": 3816,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Cms;\nuse Illuminate\\Http\\Request;\nuse Grafite\\Cms\\Models\\Promotion;\nuse G"
  },
  {
    "path": "src/Controllers/RssController.php",
    "chars": 947,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Http\\Response;\n\nclass RssControll"
  },
  {
    "path": "src/Controllers/SiteMapController.php",
    "chars": 604,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Grafite\\Cms\\Services\\CmsService;\nuse Illuminate\\Http\\Response;\n\nclass Sit"
  },
  {
    "path": "src/Controllers/WidgetsController.php",
    "chars": 3691,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Controllers;\n\nuse Cms;\nuse Illuminate\\Http\\Request;\nuse Grafite\\Cms\\Models\\Widget;\nuse Graf"
  },
  {
    "path": "src/Facades/BlogServiceFacade.php",
    "chars": 214,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Facades;\n\nuse Illuminate\\Support\\Facades\\Facade;\n\nclass BlogServiceFacade extends Facade\n{\n"
  },
  {
    "path": "src/Facades/CmsServiceFacade.php",
    "chars": 212,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Facades;\n\nuse Illuminate\\Support\\Facades\\Facade;\n\nclass CmsServiceFacade extends Facade\n{\n "
  },
  {
    "path": "src/Facades/CryptoServiceFacade.php",
    "chars": 218,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Facades;\n\nuse Illuminate\\Support\\Facades\\Facade;\n\nclass CryptoServiceFacade extends Facade\n"
  },
  {
    "path": "src/Facades/EventServiceFacade.php",
    "chars": 216,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Facades;\n\nuse Illuminate\\Support\\Facades\\Facade;\n\nclass EventServiceFacade extends Facade\n{"
  },
  {
    "path": "src/Facades/ModuleServiceFacade.php",
    "chars": 218,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Facades;\n\nuse Illuminate\\Support\\Facades\\Facade;\n\nclass ModuleServiceFacade extends Facade\n"
  },
  {
    "path": "src/Facades/PageServiceFacade.php",
    "chars": 214,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Facades;\n\nuse Illuminate\\Support\\Facades\\Facade;\n\nclass PageServiceFacade extends Facade\n{\n"
  },
  {
    "path": "src/GrafiteCmsProvider.php",
    "chars": 5644,
    "preview": "<?php\n\nnamespace Grafite\\Cms;\n\nuse Cms;\nuse Devfactory\\Minify\\Facades\\MinifyFacade;\nuse Devfactory\\Minify\\MinifyServiceP"
  },
  {
    "path": "src/Helpers/blade.php",
    "chars": 546,
    "preview": "<?php\n\nif (!function_exists('menu')) {\n    function menu($slug, $view = null)\n    {\n        return app('CmsService')->me"
  },
  {
    "path": "src/Helpers/general.php",
    "chars": 822,
    "preview": "<?php\n\nif (!function_exists('sortable')) {\n    function sortable($label, $field)\n    {\n        $query = request()->query"
  },
  {
    "path": "src/Middleware/GrafiteCmsAnalytics.php",
    "chars": 505,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Middleware;\n\nuse Closure;\nuse Grafite\\Cms\\Services\\AnalyticsService;\n\nclass GrafiteCmsAnaly"
  },
  {
    "path": "src/Migrations/2015_07_03_133637_create_files_table.php",
    "chars": 926,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateFilesTable e"
  },
  {
    "path": "src/Migrations/2015_09_29_193916_create_images_table.php",
    "chars": 912,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateImagesTable "
  },
  {
    "path": "src/Migrations/2015_09_29_211249_create_blogs_table.php",
    "chars": 888,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateBlogsTable e"
  },
  {
    "path": "src/Migrations/2015_10_03_021221_create_pages_table.php",
    "chars": 840,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreatePagesTable e"
  },
  {
    "path": "src/Migrations/2015_10_03_032000_create_widgets_table.php",
    "chars": 676,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateWidgetsTable"
  },
  {
    "path": "src/Migrations/2015_10_03_032005_create_archives_table.php",
    "chars": 721,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateArchivesTabl"
  },
  {
    "path": "src/Migrations/2015_10_12_195952_create_faqs_table.php",
    "chars": 679,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateFaqsTable ex"
  },
  {
    "path": "src/Migrations/2015_10_12_196052_create_events_table.php",
    "chars": 876,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateEventsTable "
  },
  {
    "path": "src/Migrations/2015_10_28_174809_create_menus_table.php",
    "chars": 621,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateMenusTable e"
  },
  {
    "path": "src/Migrations/2015_10_28_175046_create_links_table.php",
    "chars": 774,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass CreateLinksTable e"
  },
  {
    "path": "src/Migrations/2016_02_03_175046_add_tags_to_images.php",
    "chars": 587,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass AddTagsToImages ex"
  },
  {
    "path": "src/Migrations/2016_02_03_185046_add_templates_to_pages.php",
    "chars": 604,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass AddTemplatesToPage"
  },
  {
    "path": "src/Migrations/2016_03_20_185046_add_templates_to_blogs.php",
    "chars": 604,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass AddTemplatesToBlog"
  },
  {
    "path": "src/Migrations/2016_03_20_186046_add_templates_to_events.php",
    "chars": 607,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass AddTemplatesToEven"
  },
  {
    "path": "src/Migrations/2016_06_01_002825_convert_to_published_at.php",
    "chars": 1510,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass ConvertToPublished"
  },
  {
    "path": "src/Migrations/2016_10_27_224359_create_translations_table.php",
    "chars": 747,
    "preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
  },
  {
    "path": "src/Migrations/2016_12_11_034855_add_lang_to_translations_table.php",
    "chars": 659,
    "preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
  },
  {
    "path": "src/Migrations/2017_01_11_132526_create_analytics_table.php",
    "chars": 646,
    "preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
  },
  {
    "path": "src/Migrations/2017_06_10_234231_add_order_to_menus.php",
    "chars": 626,
    "preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
  },
  {
    "path": "src/Migrations/2017_07_05_002825_add_blocks.php",
    "chars": 1153,
    "preview": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\n\nclass AddBlocks extends "
  },
  {
    "path": "src/Migrations/2017_07_08_223935_add_entity_to_images.php",
    "chars": 614,
    "preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
  },
  {
    "path": "src/Migrations/2017_12_14_045216_add_hero_images.php",
    "chars": 984,
    "preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
  },
  {
    "path": "src/Migrations/2018_08_24_191305_create_promotions_table.php",
    "chars": 809,
    "preview": "<?php\n\nuse Illuminate\\Support\\Facades\\Schema;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Database\\Migratio"
  },
  {
    "path": "src/Models/Analytics.php",
    "chars": 272,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\n\nclass Analytics extends CmsModel\n{\n    public $t"
  },
  {
    "path": "src/Models/Archive.php",
    "chars": 320,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\n\nclass Archive extends CmsModel\n{\n    public $tab"
  },
  {
    "path": "src/Models/Blog.php",
    "chars": 1645,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\nuse Grafite\\Cms\\Services\\Normalizer;\nuse Grafite\\"
  },
  {
    "path": "src/Models/CmsModel.php",
    "chars": 3156,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Log;\nuse Gr"
  },
  {
    "path": "src/Models/Event.php",
    "chars": 1239,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\nuse Grafite\\Cms\\Services\\Normalizer;\nuse Grafite\\"
  },
  {
    "path": "src/Models/FAQ.php",
    "chars": 862,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\nuse Grafite\\Cms\\Traits\\Translatable;\n\nclass FAQ e"
  },
  {
    "path": "src/Models/File.php",
    "chars": 731,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\n\nclass File extends CmsModel\n{\n    public $table "
  },
  {
    "path": "src/Models/Image.php",
    "chars": 4098,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Carbon\\Carbon;\nuse Config;\nuse Exception;\nuse FileService;\nuse Grafite\\Cms\\Mod"
  },
  {
    "path": "src/Models/Link.php",
    "chars": 999,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\nuse Grafite\\Cms\\Models\\Menu;\nuse Grafite\\Cms\\Mode"
  },
  {
    "path": "src/Models/Menu.php",
    "chars": 795,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\n\nclass Menu extends CmsModel\n{\n    public $table "
  },
  {
    "path": "src/Models/Page.php",
    "chars": 1615,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\nuse Grafite\\Cms\\Services\\Normalizer;\nuse Grafite\\"
  },
  {
    "path": "src/Models/Promotion.php",
    "chars": 1677,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\nuse Grafite\\Cms\\Services\\Normalizer;\nuse Grafite\\"
  },
  {
    "path": "src/Models/Translation.php",
    "chars": 655,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\n\nclass Translation extends CmsModel\n{\n    public "
  },
  {
    "path": "src/Models/Widget.php",
    "chars": 771,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Models;\n\nuse Grafite\\Cms\\Models\\CmsModel;\nuse Grafite\\Cms\\Traits\\Translatable;\n\nclass Widge"
  },
  {
    "path": "src/Providers/CmsEventServiceProvider.php",
    "chars": 2699,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Providers;\n\nuse Illuminate\\Foundation\\Support\\Providers\\EventServiceProvider as ServiceProv"
  },
  {
    "path": "src/Providers/CmsModuleProvider.php",
    "chars": 887,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Providers;\n\nuse Illuminate\\Support\\Facades\\Config;\nuse Illuminate\\Support\\ServiceProvider;\n"
  },
  {
    "path": "src/Providers/CmsRouteProvider.php",
    "chars": 1021,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Providers;\n\nuse Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider as ServiceProv"
  },
  {
    "path": "src/Providers/CmsServiceProvider.php",
    "chars": 1823,
    "preview": "<?php\n\nnamespace Grafite\\Cms\\Providers;\n\nuse App;\nuse Illuminate\\Foundation\\AliasLoader;\nuse Illuminate\\Support\\ServiceP"
  },
  {
    "path": "src/PublishedAssets/Config/cms.php",
    "chars": 13524,
    "preview": "<?php\n\n/*\n * --------------------------------------------------------------------------\n * Grafite CMS Config\n * -------"
  },
  {
    "path": "src/PublishedAssets/Controllers/BlogController.php",
    "chars": 1643,
    "preview": "<?php\n\nnamespace App\\Http\\Controllers\\Cms;\n\nuse App\\Http\\Controllers\\Controller;\nuse Grafite\\Cms\\Repositories\\BlogReposi"
  },
  {
    "path": "src/PublishedAssets/Controllers/EventsController.php",
    "chars": 2052,
    "preview": "<?php\n\nnamespace App\\Http\\Controllers\\Cms;\n\nuse App\\Http\\Controllers\\Controller;\nuse Grafite\\Cms\\Services\\EventService;\n"
  },
  {
    "path": "src/PublishedAssets/Controllers/FaqController.php",
    "chars": 757,
    "preview": "<?php\n\nnamespace App\\Http\\Controllers\\Cms;\n\nuse App\\Http\\Controllers\\Controller;\nuse Grafite\\Cms\\Repositories\\FAQReposit"
  }
]

// ... and 242 more files (download for full content)

About this extraction

This page contains the full source code of the GrafiteInc/CMS GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 442 files (3.8 MB), approximately 1.0M tokens, and a symbol index with 1439 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!