From 830e6c3430c93f6e149256ba9b96ea3980507920 Mon Sep 17 00:00:00 2001 From: Aurimas R <mail@aurimas.eu> Date: Wed, 20 Aug 2014 23:37:50 +0200 Subject: [PATCH] Initial commit of the current seime.lt backend codebase --- CONTRIBUTING.md | 3 - README.md | 18 + app/commands/.gitkeep | 0 app/config/app.php | 196 -- app/config/auth.php | 71 - app/config/cache.php | 89 - app/config/compile.php | 18 - app/config/database.php | 124 - app/config/live/.gitkeep | 0 app/config/mail.php | 124 - app/config/packages/.gitkeep | 0 .../barryvdh/laravel-debugbar/config.php | 146 - app/config/queue.php | 85 - app/config/remote.php | 59 - app/config/services.php | 31 - app/config/session.php | 140 - app/config/testing/cache.php | 20 - app/config/testing/session.php | 21 - app/config/view.php | 31 - app/config/workbench.php | 31 - app/controllers/.gitkeep | 0 app/controllers/BaseController.php | 18 - app/controllers/HomeController.php | 23 - app/database/.gitignore | 1 - app/database/migrations/.gitkeep | 0 ...2014_08_14_223444_create_actions_table.php | 44 - .../2014_08_14_223444_create_items_table.php | 38 - ...8_14_223444_create_members_notes_table.php | 36 - ...2014_08_14_223444_create_members_table.php | 38 - ...223444_create_participation_data_table.php | 38 - ...4_08_14_223444_create_presenters_table.php | 36 - ...14_08_14_223444_create_questions_table.php | 40 - ...8_14_223444_create_registrations_table.php | 36 - ...014_08_14_223444_create_sessions_table.php | 39 - ...444_create_sitting_participation_table.php | 36 - ...014_08_14_223444_create_sittings_table.php | 44 - ...014_08_14_223444_create_speakers_table.php | 35 - ...reate_subquestions_participation_table.php | 36 - ...08_14_223444_create_subquestions_table.php | 37 - .../2014_08_14_223444_create_votes_table.php | 38 - ...23444_create_voting_registration_table.php | 34 - app/database/seeds/.gitkeep | 0 app/database/seeds/DatabaseSeeder.php | 17 - app/filters.php | 90 - app/lang/en/pagination.php | 20 - app/lang/en/reminders.php | 24 - app/lang/en/validation.php | 106 - app/models/Action.php | 23 - app/models/DefaultParameterTrait.php | 27 - app/models/Item.php | 19 - app/models/Member.php | 73 - app/models/Presenter.php | 14 - app/models/Question.php | 46 - app/models/Registration.php | 22 - app/models/Session.php | 14 - app/models/Sitting.php | 42 - app/models/Speech.php | 12 - app/models/Subquestion.php | 29 - app/models/User.php | 26 - app/models/Vote.php | 33 - app/routes.php | 17 - app/start/artisan.php | 13 - app/start/global.php | 81 - app/start/local.php | 3 - app/storage/.gitignore | 1 - app/storage/debugbar/.gitignore | 2 - app/storage/logs/.gitignore | 2 - app/storage/meta/.gitignore | 2 - app/storage/sessions/.gitignore | 2 - app/storage/views/.gitignore | 2 - app/tests/ExampleTest.php | 17 - app/tests/TestCase.php | 19 - app/views/emails/auth/reminder.blade.php | 14 - app/views/hello.php | 42 - artisan | 74 - bootstrap/autoload.php | 75 - bootstrap/paths.php | 57 - bootstrap/start.php | 73 - classes/Action.php | 428 +++ classes/DB.php | 139 + classes/Factory.php | 123 + classes/Klausimas_.php | 390 +++ classes/Posedis.php | 208 ++ classes/Question.php | 263 ++ classes/Sesija.php | 82 + classes/Updater.php | 167 ++ classes/Updater.php~ | 167 ++ classes/abstractions.php | 279 ++ classes/utilities.php | 55 + code-docs/code-summary-ENG.md | 54 + code-docs/code-summary-LT.md | 53 + composer.json | 40 - composer.lock | 2432 ----------------- cron.php | 42 + db-docs/README-LT.md | 117 + db-docs/seime.lt.mwb | Bin 0 -> 17210 bytes db-docs/seime.lt.new.pdf | Bin 0 -> 82764 bytes db-docs/seime.lt.pdf | Bin 0 -> 79756 bytes db-docs/seime.new.lt.mwb | Bin 0 -> 17766 bytes extensions/QuestionParticipation.php | 243 ++ extensions/QuestionStats.php | 39 + extensions/RegistrationLink.php | 62 + extensions/SittingStats.php | 274 ++ phpunit.xml | 18 - public/.htaccess | 15 - public/favicon.ico | 0 public/index.php | 49 - public/packages/.gitkeep | 0 .../laravel-debugbar/laravel-debugbar.css | 65 - .../laravel-debugbar/laravel-icon.png | Bin 15938 -> 0 bytes .../maximebf/php-debugbar/debugbar.css | 225 -- .../maximebf/php-debugbar/debugbar.js | 1080 -------- .../packages/maximebf/php-debugbar/icons.png | Bin 500 -> 0 bytes .../maximebf/php-debugbar/openhandler.css | 60 - .../maximebf/php-debugbar/openhandler.js | 191 -- .../maximebf/php-debugbar/php-icon.png | Bin 3621 -> 0 bytes .../font-awesome/css/font-awesome.min.css | 4 - .../vendor/font-awesome/fonts/FontAwesome.otf | Bin 62856 -> 0 bytes .../fonts/fontawesome-webfont.eot | Bin 38205 -> 0 bytes .../fonts/fontawesome-webfont.svg | 414 --- .../fonts/fontawesome-webfont.ttf | Bin 80652 -> 0 bytes .../fonts/fontawesome-webfont.woff | Bin 44432 -> 0 bytes .../vendor/highlightjs/highlight.pack.js | 1 - .../vendor/highlightjs/styles/github.css | 125 - .../vendor/jquery/dist/jquery.min.js | 5 - .../maximebf/php-debugbar/widgets.css | 186 -- .../packages/maximebf/php-debugbar/widgets.js | 430 --- .../php-debugbar/widgets/mails/widget.css | 12 - .../php-debugbar/widgets/mails/widget.js | 40 - .../widgets/sqlqueries/widget.css | 82 - .../php-debugbar/widgets/sqlqueries/widget.js | 94 - .../php-debugbar/widgets/templates/widget.css | 23 - .../php-debugbar/widgets/templates/widget.js | 38 - public/robots.txt | 2 - readme.md | 25 - server.php | 19 - social/cron.php | 144 + social/cron.php~ | 144 + social/template.php | 62 + sqls/available_hours.sql | 7 + sqls/empty_registrations.sql | 6 + sqls/fractions.sql | 5 + sqls/official_participation.sql | 6 + sqls/participated_hours.sql | 8 + update-ENG.php | 157 ++ update.php | 157 ++ 146 files changed, 3899 insertions(+), 8644 deletions(-) delete mode 100644 CONTRIBUTING.md create mode 100755 README.md delete mode 100644 app/commands/.gitkeep delete mode 100644 app/config/app.php delete mode 100644 app/config/auth.php delete mode 100644 app/config/cache.php delete mode 100644 app/config/compile.php delete mode 100644 app/config/database.php delete mode 100644 app/config/live/.gitkeep delete mode 100644 app/config/mail.php delete mode 100644 app/config/packages/.gitkeep delete mode 100644 app/config/packages/barryvdh/laravel-debugbar/config.php delete mode 100644 app/config/queue.php delete mode 100644 app/config/remote.php delete mode 100644 app/config/services.php delete mode 100644 app/config/session.php delete mode 100644 app/config/testing/cache.php delete mode 100644 app/config/testing/session.php delete mode 100644 app/config/view.php delete mode 100644 app/config/workbench.php delete mode 100644 app/controllers/.gitkeep delete mode 100644 app/controllers/BaseController.php delete mode 100644 app/controllers/HomeController.php delete mode 100644 app/database/.gitignore delete mode 100644 app/database/migrations/.gitkeep delete mode 100644 app/database/migrations/2014_08_14_223444_create_actions_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_items_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_members_notes_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_members_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_participation_data_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_presenters_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_questions_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_registrations_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_sessions_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_sitting_participation_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_sittings_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_speakers_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_subquestions_participation_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_subquestions_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_votes_table.php delete mode 100644 app/database/migrations/2014_08_14_223444_create_voting_registration_table.php delete mode 100644 app/database/seeds/.gitkeep delete mode 100644 app/database/seeds/DatabaseSeeder.php delete mode 100644 app/filters.php delete mode 100644 app/lang/en/pagination.php delete mode 100644 app/lang/en/reminders.php delete mode 100644 app/lang/en/validation.php delete mode 100644 app/models/Action.php delete mode 100644 app/models/DefaultParameterTrait.php delete mode 100644 app/models/Item.php delete mode 100644 app/models/Member.php delete mode 100644 app/models/Presenter.php delete mode 100644 app/models/Question.php delete mode 100644 app/models/Registration.php delete mode 100644 app/models/Session.php delete mode 100644 app/models/Sitting.php delete mode 100644 app/models/Speech.php delete mode 100644 app/models/Subquestion.php delete mode 100644 app/models/User.php delete mode 100644 app/models/Vote.php delete mode 100644 app/routes.php delete mode 100644 app/start/artisan.php delete mode 100644 app/start/global.php delete mode 100644 app/start/local.php delete mode 100755 app/storage/.gitignore delete mode 100755 app/storage/debugbar/.gitignore delete mode 100755 app/storage/logs/.gitignore delete mode 100755 app/storage/meta/.gitignore delete mode 100755 app/storage/sessions/.gitignore delete mode 100755 app/storage/views/.gitignore delete mode 100644 app/tests/ExampleTest.php delete mode 100644 app/tests/TestCase.php delete mode 100644 app/views/emails/auth/reminder.blade.php delete mode 100644 app/views/hello.php delete mode 100644 artisan delete mode 100644 bootstrap/autoload.php delete mode 100644 bootstrap/paths.php delete mode 100644 bootstrap/start.php create mode 100755 classes/Action.php create mode 100755 classes/DB.php create mode 100755 classes/Factory.php create mode 100755 classes/Klausimas_.php create mode 100755 classes/Posedis.php create mode 100755 classes/Question.php create mode 100755 classes/Sesija.php create mode 100755 classes/Updater.php create mode 100755 classes/Updater.php~ create mode 100755 classes/abstractions.php create mode 100755 classes/utilities.php create mode 100755 code-docs/code-summary-ENG.md create mode 100755 code-docs/code-summary-LT.md delete mode 100644 composer.json delete mode 100644 composer.lock create mode 100755 cron.php create mode 100755 db-docs/README-LT.md create mode 100755 db-docs/seime.lt.mwb create mode 100755 db-docs/seime.lt.new.pdf create mode 100755 db-docs/seime.lt.pdf create mode 100755 db-docs/seime.new.lt.mwb create mode 100755 extensions/QuestionParticipation.php create mode 100755 extensions/QuestionStats.php create mode 100755 extensions/RegistrationLink.php create mode 100755 extensions/SittingStats.php delete mode 100644 phpunit.xml delete mode 100644 public/.htaccess delete mode 100644 public/favicon.ico delete mode 100644 public/index.php delete mode 100644 public/packages/.gitkeep delete mode 100644 public/packages/barryvdh/laravel-debugbar/laravel-debugbar.css delete mode 100644 public/packages/barryvdh/laravel-debugbar/laravel-icon.png delete mode 100644 public/packages/maximebf/php-debugbar/debugbar.css delete mode 100644 public/packages/maximebf/php-debugbar/debugbar.js delete mode 100644 public/packages/maximebf/php-debugbar/icons.png delete mode 100644 public/packages/maximebf/php-debugbar/openhandler.css delete mode 100644 public/packages/maximebf/php-debugbar/openhandler.js delete mode 100644 public/packages/maximebf/php-debugbar/php-icon.png delete mode 100644 public/packages/maximebf/php-debugbar/vendor/font-awesome/css/font-awesome.min.css delete mode 100644 public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/FontAwesome.otf delete mode 100644 public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.eot delete mode 100644 public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.svg delete mode 100644 public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.ttf delete mode 100644 public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.woff delete mode 100644 public/packages/maximebf/php-debugbar/vendor/highlightjs/highlight.pack.js delete mode 100644 public/packages/maximebf/php-debugbar/vendor/highlightjs/styles/github.css delete mode 100644 public/packages/maximebf/php-debugbar/vendor/jquery/dist/jquery.min.js delete mode 100644 public/packages/maximebf/php-debugbar/widgets.css delete mode 100644 public/packages/maximebf/php-debugbar/widgets.js delete mode 100644 public/packages/maximebf/php-debugbar/widgets/mails/widget.css delete mode 100644 public/packages/maximebf/php-debugbar/widgets/mails/widget.js delete mode 100644 public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.css delete mode 100644 public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.js delete mode 100644 public/packages/maximebf/php-debugbar/widgets/templates/widget.css delete mode 100644 public/packages/maximebf/php-debugbar/widgets/templates/widget.js delete mode 100644 public/robots.txt delete mode 100644 readme.md delete mode 100644 server.php create mode 100755 social/cron.php create mode 100755 social/cron.php~ create mode 100755 social/template.php create mode 100755 sqls/available_hours.sql create mode 100755 sqls/empty_registrations.sql create mode 100755 sqls/fractions.sql create mode 100755 sqls/official_participation.sql create mode 100755 sqls/participated_hours.sql create mode 100755 update-ENG.php create mode 100755 update.php diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 6a780c4..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,3 +0,0 @@ -# Contribution Guidelines - -Please submit all issues and pull requests to the [laravel/framework](http://github.com/laravel/framework) repository! diff --git a/README.md b/README.md new file mode 100755 index 0000000..36e2ac3 --- /dev/null +++ b/README.md @@ -0,0 +1,18 @@ +## Seime.lt ## + +[Seime.lt](http://seime.lt) projekto posistemės PHP kodas, kuris surenka Lietuvos Respublikos Seimo narių +Seimo posėdžių lankomumo ir balsavimų duomenisfrom iš [Seimo svetainės](http://lrs.lt). + +**** + +PHP backend code of the [Seime.lt](http://seime.lt) project, which scrapes participation & voting data +from the website of the [Lithuanian parliament](http://lrs.lt). + +### Vietoj įžangos / Overview ### + +PHP kodas nėra detaliai dokumentuotas, tad mes siūlome + + +The code is not documented extensively, thus we suggest the following path for understanding it: + - Take a look into our database docs (schema + description), available at + diff --git a/app/commands/.gitkeep b/app/commands/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/app/config/app.php b/app/config/app.php deleted file mode 100644 index ffdc27d..0000000 --- a/app/config/app.php +++ /dev/null @@ -1,196 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Application Debug Mode - |-------------------------------------------------------------------------- - | - | When your application is in debug mode, detailed error messages with - | stack traces will be shown on every error that occurs within your - | application. If disabled, a simple generic error page is shown. - | - */ - - 'debug' => false, - - /* - |-------------------------------------------------------------------------- - | Application URL - |-------------------------------------------------------------------------- - | - | This URL is used by the console to properly generate URLs when using - | the Artisan command line tool. You should set this to the root of - | your application so that it is used when running Artisan tasks. - | - */ - - 'url' => '', - - /* - |-------------------------------------------------------------------------- - | Application Timezone - |-------------------------------------------------------------------------- - | - | Here you may specify the default timezone for your application, which - | will be used by the PHP date and date-time functions. We have gone - | ahead and set this to a sensible default for you out of the box. - | - */ - - 'timezone' => 'Europe/Copenhagen', - - /* - |-------------------------------------------------------------------------- - | Application Locale Configuration - |-------------------------------------------------------------------------- - | - | The application locale determines the default locale that will be used - | by the translation service provider. You are free to set this value - | to any of the locales which will be supported by the application. - | - */ - - 'locale' => 'en', - - /* - |-------------------------------------------------------------------------- - | Application Fallback Locale - |-------------------------------------------------------------------------- - | - | The fallback locale determines the locale to use when the current one - | is not available. You may change the value to correspond to any of - | the language folders that are provided through your application. - | - */ - - 'fallback_locale' => 'en', - - /* - |-------------------------------------------------------------------------- - | Encryption Key - |-------------------------------------------------------------------------- - | - | This key is used by the Illuminate encrypter service and should be set - | to a random, 32 character string, otherwise these encrypted strings - | will not be safe. Please do this before deploying an application! - | - */ - - 'key' => 'YourKeyHere', - - 'cipher' => MCRYPT_RIJNDAEL_128, - - /* - |-------------------------------------------------------------------------- - | Autoloaded Service Providers - |-------------------------------------------------------------------------- - | - | The service providers listed here will be automatically loaded on the - | request to your application. Feel free to add your own services to - | this array to grant expanded functionality to your applications. - | - */ - - 'providers' => array( - - 'Illuminate\Foundation\Providers\ArtisanServiceProvider', - 'Illuminate\Auth\AuthServiceProvider', - 'Illuminate\Cache\CacheServiceProvider', - 'Illuminate\Session\CommandsServiceProvider', - 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', - 'Illuminate\Routing\ControllerServiceProvider', - 'Illuminate\Cookie\CookieServiceProvider', - 'Illuminate\Database\DatabaseServiceProvider', - 'Illuminate\Encryption\EncryptionServiceProvider', - 'Illuminate\Filesystem\FilesystemServiceProvider', - 'Illuminate\Hashing\HashServiceProvider', - 'Illuminate\Html\HtmlServiceProvider', - 'Illuminate\Log\LogServiceProvider', - 'Illuminate\Mail\MailServiceProvider', - 'Illuminate\Database\MigrationServiceProvider', - 'Illuminate\Pagination\PaginationServiceProvider', - 'Illuminate\Queue\QueueServiceProvider', - 'Illuminate\Redis\RedisServiceProvider', - 'Illuminate\Remote\RemoteServiceProvider', - 'Illuminate\Auth\Reminders\ReminderServiceProvider', - 'Illuminate\Database\SeedServiceProvider', - 'Illuminate\Session\SessionServiceProvider', - 'Illuminate\Translation\TranslationServiceProvider', - 'Illuminate\Validation\ValidationServiceProvider', - 'Illuminate\View\ViewServiceProvider', - 'Illuminate\Workbench\WorkbenchServiceProvider', - 'Barryvdh\Debugbar\ServiceProvider', - - ), - - /* - |-------------------------------------------------------------------------- - | Service Provider Manifest - |-------------------------------------------------------------------------- - | - | The service provider manifest is used by Laravel to lazy load service - | providers which are not needed for each request, as well to keep a - | list of all of the services. Here, you may set its storage spot. - | - */ - - 'manifest' => storage_path().'/meta', - - /* - |-------------------------------------------------------------------------- - | Class Aliases - |-------------------------------------------------------------------------- - | - | This array of class aliases will be registered when this application - | is started. However, feel free to register as many as you wish as - | the aliases are "lazy" loaded so they don't hinder performance. - | - */ - - 'aliases' => array( - - 'App' => 'Illuminate\Support\Facades\App', - 'Artisan' => 'Illuminate\Support\Facades\Artisan', - 'Auth' => 'Illuminate\Support\Facades\Auth', - 'Blade' => 'Illuminate\Support\Facades\Blade', - 'Cache' => 'Illuminate\Support\Facades\Cache', - 'ClassLoader' => 'Illuminate\Support\ClassLoader', - 'Config' => 'Illuminate\Support\Facades\Config', - 'Controller' => 'Illuminate\Routing\Controller', - 'Cookie' => 'Illuminate\Support\Facades\Cookie', - 'Crypt' => 'Illuminate\Support\Facades\Crypt', - 'DB' => 'Illuminate\Support\Facades\DB', - 'Eloquent' => 'Illuminate\Database\Eloquent\Model', - 'Event' => 'Illuminate\Support\Facades\Event', - 'File' => 'Illuminate\Support\Facades\File', - 'Form' => 'Illuminate\Support\Facades\Form', - 'Hash' => 'Illuminate\Support\Facades\Hash', - 'HTML' => 'Illuminate\Support\Facades\HTML', - 'Input' => 'Illuminate\Support\Facades\Input', - 'Lang' => 'Illuminate\Support\Facades\Lang', - 'Log' => 'Illuminate\Support\Facades\Log', - 'Mail' => 'Illuminate\Support\Facades\Mail', - 'Paginator' => 'Illuminate\Support\Facades\Paginator', - 'Password' => 'Illuminate\Support\Facades\Password', - 'Queue' => 'Illuminate\Support\Facades\Queue', - 'Redirect' => 'Illuminate\Support\Facades\Redirect', - 'Redis' => 'Illuminate\Support\Facades\Redis', - 'Request' => 'Illuminate\Support\Facades\Request', - 'Response' => 'Illuminate\Support\Facades\Response', - 'Route' => 'Illuminate\Support\Facades\Route', - 'Schema' => 'Illuminate\Support\Facades\Schema', - 'Seeder' => 'Illuminate\Database\Seeder', - 'Session' => 'Illuminate\Support\Facades\Session', - 'SoftDeletingTrait' => 'Illuminate\Database\Eloquent\SoftDeletingTrait', - 'SSH' => 'Illuminate\Support\Facades\SSH', - 'Str' => 'Illuminate\Support\Str', - 'URL' => 'Illuminate\Support\Facades\URL', - 'Validator' => 'Illuminate\Support\Facades\Validator', - 'View' => 'Illuminate\Support\Facades\View', - 'Debugbar' => 'Barryvdh\Debugbar\Facade', - - ), - -); diff --git a/app/config/auth.php b/app/config/auth.php deleted file mode 100644 index eacbbfa..0000000 --- a/app/config/auth.php +++ /dev/null @@ -1,71 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Default Authentication Driver - |-------------------------------------------------------------------------- - | - | This option controls the authentication driver that will be utilized. - | This driver manages the retrieval and authentication of the users - | attempting to get access to protected areas of your application. - | - | Supported: "database", "eloquent" - | - */ - - 'driver' => 'eloquent', - - /* - |-------------------------------------------------------------------------- - | Authentication Model - |-------------------------------------------------------------------------- - | - | When using the "Eloquent" authentication driver, we need to know which - | Eloquent model should be used to retrieve your users. Of course, it - | is often just the "User" model but you may use whatever you like. - | - */ - - 'model' => 'User', - - /* - |-------------------------------------------------------------------------- - | Authentication Table - |-------------------------------------------------------------------------- - | - | When using the "Database" authentication driver, we need to know which - | table should be used to retrieve your users. We have chosen a basic - | default value but you may easily change it to any table you like. - | - */ - - 'table' => 'users', - - /* - |-------------------------------------------------------------------------- - | Password Reminder Settings - |-------------------------------------------------------------------------- - | - | Here you may set the settings for password reminders, including a view - | that should be used as your password reminder e-mail. You will also - | be able to set the name of the table that holds the reset tokens. - | - | The "expire" time is the number of minutes that the reminder should be - | considered valid. This security feature keeps tokens short-lived so - | they have less time to be guessed. You may change this as needed. - | - */ - - 'reminder' => array( - - 'email' => 'emails.auth.reminder', - - 'table' => 'password_reminders', - - 'expire' => 60, - - ), - -); diff --git a/app/config/cache.php b/app/config/cache.php deleted file mode 100644 index ce89842..0000000 --- a/app/config/cache.php +++ /dev/null @@ -1,89 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Default Cache Driver - |-------------------------------------------------------------------------- - | - | This option controls the default cache "driver" that will be used when - | using the Caching library. Of course, you may use other drivers any - | time you wish. This is the default when another is not specified. - | - | Supported: "file", "database", "apc", "memcached", "redis", "array" - | - */ - - 'driver' => 'file', - - /* - |-------------------------------------------------------------------------- - | File Cache Location - |-------------------------------------------------------------------------- - | - | When using the "file" cache driver, we need a location where the cache - | files may be stored. A sensible default has been specified, but you - | are free to change it to any other place on disk that you desire. - | - */ - - 'path' => storage_path().'/cache', - - /* - |-------------------------------------------------------------------------- - | Database Cache Connection - |-------------------------------------------------------------------------- - | - | When using the "database" cache driver you may specify the connection - | that should be used to store the cached items. When this option is - | null the default database connection will be utilized for cache. - | - */ - - 'connection' => null, - - /* - |-------------------------------------------------------------------------- - | Database Cache Table - |-------------------------------------------------------------------------- - | - | When using the "database" cache driver we need to know the table that - | should be used to store the cached items. A default table name has - | been provided but you're free to change it however you deem fit. - | - */ - - 'table' => 'cache', - - /* - |-------------------------------------------------------------------------- - | Memcached Servers - |-------------------------------------------------------------------------- - | - | Now you may specify an array of your Memcached servers that should be - | used when utilizing the Memcached cache driver. All of the servers - | should contain a value for "host", "port", and "weight" options. - | - */ - - 'memcached' => array( - - array('host' => '127.0.0.1', 'port' => 11211, 'weight' => 100), - - ), - - /* - |-------------------------------------------------------------------------- - | Cache Key Prefix - |-------------------------------------------------------------------------- - | - | When utilizing a RAM based store such as APC or Memcached, there might - | be other applications utilizing the same cache. So, we'll specify a - | value to get prefixed to all our keys so we can avoid collisions. - | - */ - - 'prefix' => 'laravel', - -); diff --git a/app/config/compile.php b/app/config/compile.php deleted file mode 100644 index d5e5518..0000000 --- a/app/config/compile.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Additional Compiled Classes - |-------------------------------------------------------------------------- - | - | Here you may specify additional classes to include in the compiled file - | generated by the `artisan optimize` command. These should be classes - | that are included on basically every request into the application. - | - */ - - - -); diff --git a/app/config/database.php b/app/config/database.php deleted file mode 100644 index 08fee18..0000000 --- a/app/config/database.php +++ /dev/null @@ -1,124 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | PDO Fetch Style - |-------------------------------------------------------------------------- - | - | By default, database results will be returned as instances of the PHP - | stdClass object; however, you may desire to retrieve records in an - | array format for simplicity. Here you can tweak the fetch style. - | - */ - - 'fetch' => PDO::FETCH_CLASS, - - /* - |-------------------------------------------------------------------------- - | Default Database Connection Name - |-------------------------------------------------------------------------- - | - | Here you may specify which of the database connections below you wish - | to use as your default connection for all database work. Of course - | you may use many connections at once using the Database library. - | - */ - - 'default' => 'mysql', - - /* - |-------------------------------------------------------------------------- - | Database Connections - |-------------------------------------------------------------------------- - | - | Here are each of the database connections setup for your application. - | Of course, examples of configuring each database platform that is - | supported by Laravel is shown below to make development simple. - | - | - | All database work in Laravel is done through the PHP PDO facilities - | so make sure you have the driver for your particular database of - | choice installed on your machine before you begin development. - | - */ - - 'connections' => array( - - 'sqlite' => array( - 'driver' => 'sqlite', - 'database' => __DIR__.'/../database/production.sqlite', - 'prefix' => '', - ), - - 'mysql' => array( - 'driver' => 'mysql', - 'host' => 'localhost', - 'database' => 'seimas', - 'username' => '', - 'password' => '', - 'charset' => 'utf8', - 'collation' => 'utf8_unicode_ci', - 'prefix' => '', - ), - - 'pgsql' => array( - 'driver' => 'pgsql', - 'host' => 'localhost', - 'database' => 'forge', - 'username' => 'forge', - 'password' => '', - 'charset' => 'utf8', - 'prefix' => '', - 'schema' => 'public', - ), - - 'sqlsrv' => array( - 'driver' => 'sqlsrv', - 'host' => 'localhost', - 'database' => 'database', - 'username' => 'root', - 'password' => '', - 'prefix' => '', - ), - - ), - - /* - |-------------------------------------------------------------------------- - | Migration Repository Table - |-------------------------------------------------------------------------- - | - | This table keeps track of all the migrations that have already run for - | your application. Using this information, we can determine which of - | the migrations on disk haven't actually been run in the database. - | - */ - - 'migrations' => 'migrations', - - /* - |-------------------------------------------------------------------------- - | Redis Databases - |-------------------------------------------------------------------------- - | - | Redis is an open source, fast, and advanced key-value store that also - | provides a richer set of commands than a typical key-value systems - | such as APC or Memcached. Laravel makes it easy to dig right in. - | - */ - - 'redis' => array( - - 'cluster' => false, - - 'default' => array( - 'host' => '127.0.0.1', - 'port' => 6379, - 'database' => 0, - ), - - ), - -); diff --git a/app/config/live/.gitkeep b/app/config/live/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/app/config/mail.php b/app/config/mail.php deleted file mode 100644 index 76fd9e4..0000000 --- a/app/config/mail.php +++ /dev/null @@ -1,124 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Mail Driver - |-------------------------------------------------------------------------- - | - | Laravel supports both SMTP and PHP's "mail" function as drivers for the - | sending of e-mail. You may specify which one you're using throughout - | your application here. By default, Laravel is setup for SMTP mail. - | - | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", "log" - | - */ - - 'driver' => 'smtp', - - /* - |-------------------------------------------------------------------------- - | SMTP Host Address - |-------------------------------------------------------------------------- - | - | Here you may provide the host address of the SMTP server used by your - | applications. A default option is provided that is compatible with - | the Mailgun mail service which will provide reliable deliveries. - | - */ - - 'host' => 'smtp.mailgun.org', - - /* - |-------------------------------------------------------------------------- - | SMTP Host Port - |-------------------------------------------------------------------------- - | - | This is the SMTP port used by your application to deliver e-mails to - | users of the application. Like the host we have set this value to - | stay compatible with the Mailgun e-mail application by default. - | - */ - - 'port' => 587, - - /* - |-------------------------------------------------------------------------- - | Global "From" Address - |-------------------------------------------------------------------------- - | - | You may wish for all e-mails sent by your application to be sent from - | the same address. Here, you may specify a name and address that is - | used globally for all e-mails that are sent by your application. - | - */ - - 'from' => array('address' => null, 'name' => null), - - /* - |-------------------------------------------------------------------------- - | E-Mail Encryption Protocol - |-------------------------------------------------------------------------- - | - | Here you may specify the encryption protocol that should be used when - | the application send e-mail messages. A sensible default using the - | transport layer security protocol should provide great security. - | - */ - - 'encryption' => 'tls', - - /* - |-------------------------------------------------------------------------- - | SMTP Server Username - |-------------------------------------------------------------------------- - | - | If your SMTP server requires a username for authentication, you should - | set it here. This will get used to authenticate with your server on - | connection. You may also set the "password" value below this one. - | - */ - - 'username' => null, - - /* - |-------------------------------------------------------------------------- - | SMTP Server Password - |-------------------------------------------------------------------------- - | - | Here you may set the password required by your SMTP server to send out - | messages from your application. This will be given to the server on - | connection so that the application will be able to send messages. - | - */ - - 'password' => null, - - /* - |-------------------------------------------------------------------------- - | Sendmail System Path - |-------------------------------------------------------------------------- - | - | When using the "sendmail" driver to send e-mails, we will need to know - | the path to where Sendmail lives on this server. A default path has - | been provided here, which will work well on most of your systems. - | - */ - - 'sendmail' => '/usr/sbin/sendmail -bs', - - /* - |-------------------------------------------------------------------------- - | Mail "Pretend" - |-------------------------------------------------------------------------- - | - | When this option is enabled, e-mail will not actually be sent over the - | web and will instead be written to your application's logs files so - | you may inspect the message. This is great for local development. - | - */ - - 'pretend' => false, - -); diff --git a/app/config/packages/.gitkeep b/app/config/packages/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/app/config/packages/barryvdh/laravel-debugbar/config.php b/app/config/packages/barryvdh/laravel-debugbar/config.php deleted file mode 100644 index 6dc07e2..0000000 --- a/app/config/packages/barryvdh/laravel-debugbar/config.php +++ /dev/null @@ -1,146 +0,0 @@ -<?php - -use Illuminate\Support\Facades\Config; - -return array( - - /* - |-------------------------------------------------------------------------- - | Debugbar Settings - |-------------------------------------------------------------------------- - | - | Debugbar is enabled by default, when debug is set to true in app.php. - | - */ - - 'enabled' => Config::get('app.debug'), - - /* - |-------------------------------------------------------------------------- - | Storage settings - |-------------------------------------------------------------------------- - | - | DebugBar stores data for session/ajax requests in a directory. - | You can disable this, so the debugbar stores data in headers/session, - | but this can cause problems with large data collectors. - | - */ - 'storage' => array( - 'enabled' => true, - 'path' => storage_path() . '/debugbar', - ), - - /* - |-------------------------------------------------------------------------- - | Vendors - |-------------------------------------------------------------------------- - | - | Vendor files are included by default, but can be set to false. - | This can also be set to 'js' or 'css', to only include javascript or css vendor files. - | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files) - | and for js: jquery and and highlight.js - | So if you want syntax highlighting, set it to true. - | jQuery is set to not conflict with existing jQuery scripts. - | - */ - - 'include_vendors' => true, - - /* - |-------------------------------------------------------------------------- - | Capture Ajax Requests - |-------------------------------------------------------------------------- - | - | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors), - | you can use this option to disable sending the data through the headers. - | - */ - - 'capture_ajax' => true, - - /* - |-------------------------------------------------------------------------- - | Capture Console Commands - |-------------------------------------------------------------------------- - | - | The Debugbar can listen to Artisan commands. You can view them with the browse button in the Debugbar. - | - */ - - 'capture_console' => false, - - /* - |-------------------------------------------------------------------------- - | DataCollectors - |-------------------------------------------------------------------------- - | - | Enable/disable DataCollectors - | - */ - - 'collectors' => array( - 'phpinfo' => true, // Php version - 'messages' => true, // Messages - 'time' => true, // Time Datalogger - 'memory' => true, // Memory usage - 'exceptions' => true, // Exception displayer - 'log' => true, // Logs from Monolog (merged in messages if enabled) - 'db' => true, // Show database (PDO) queries and bindings - 'views' => true, // Views with their data - 'route' => true, // Current route information - 'laravel' => false, // Laravel version and environment - 'events' => false, // All events fired - 'default_request' => false, // Regular or special Symfony request logger - 'symfony_request' => true, // Only one can be enabled.. - 'mail' => true, // Catch mail messages - 'logs' => false, // Add the latest log messages - 'files' => false, // Show the included files - 'config' => false, // Display config settings - 'auth' => false, // Display Laravel authentication status - ), - - /* - |-------------------------------------------------------------------------- - | Extra options - |-------------------------------------------------------------------------- - | - | Configure some DataCollectors - | - */ - - 'options' => array( - 'auth' => array( - 'show_name' => false, // Also show the users name/email in the debugbar - ), - 'db' => array( - 'with_params' => true, // Render SQL with the parameters substituted - 'timeline' => false, // Add the queries to the timeline - ), - 'mail' => array( - 'full_log' => false - ), - 'views' => array( - 'data' => false, //Note: Can slow down the application, because the data can be quite large.. - ), - 'route' => array( - 'label' => true // show complete route on bar - ), - 'logs' => array( - 'file' => null - ), - ), - - /* - |-------------------------------------------------------------------------- - | Inject Debugbar in Response - |-------------------------------------------------------------------------- - | - | Usually, the debugbar is added just before <body>, by listening to the - | Response after the App is done. If you disable this, you have to add them - | in your template yourself. See http://phpdebugbar.com/docs/rendering.html - | - */ - - 'inject' => true, - -); diff --git a/app/config/queue.php b/app/config/queue.php deleted file mode 100644 index 940a4cd..0000000 --- a/app/config/queue.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Default Queue Driver - |-------------------------------------------------------------------------- - | - | The Laravel queue API supports a variety of back-ends via an unified - | API, giving you convenient access to each back-end using the same - | syntax for each one. Here you may set the default queue driver. - | - | Supported: "sync", "beanstalkd", "sqs", "iron", "redis" - | - */ - - 'default' => 'sync', - - /* - |-------------------------------------------------------------------------- - | Queue Connections - |-------------------------------------------------------------------------- - | - | Here you may configure the connection information for each server that - | is used by your application. A default configuration has been added - | for each back-end shipped with Laravel. You are free to add more. - | - */ - - 'connections' => array( - - 'sync' => array( - 'driver' => 'sync', - ), - - 'beanstalkd' => array( - 'driver' => 'beanstalkd', - 'host' => 'localhost', - 'queue' => 'default', - 'ttr' => 60, - ), - - 'sqs' => array( - 'driver' => 'sqs', - 'key' => 'your-public-key', - 'secret' => 'your-secret-key', - 'queue' => 'your-queue-url', - 'region' => 'us-east-1', - ), - - 'iron' => array( - 'driver' => 'iron', - 'host' => 'mq-aws-us-east-1.iron.io', - 'token' => 'your-token', - 'project' => 'your-project-id', - 'queue' => 'your-queue-name', - 'encrypt' => true, - ), - - 'redis' => array( - 'driver' => 'redis', - 'queue' => 'default', - ), - - ), - - /* - |-------------------------------------------------------------------------- - | Failed Queue Jobs - |-------------------------------------------------------------------------- - | - | These options configure the behavior of failed queue job logging so you - | can control which database and table are used to store the jobs that - | have failed. You may change them to any database / table you wish. - | - */ - - 'failed' => array( - - 'database' => 'mysql', 'table' => 'failed_jobs', - - ), - -); diff --git a/app/config/remote.php b/app/config/remote.php deleted file mode 100644 index 2169c43..0000000 --- a/app/config/remote.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Default Remote Connection Name - |-------------------------------------------------------------------------- - | - | Here you may specify the default connection that will be used for SSH - | operations. This name should correspond to a connection name below - | in the server list. Each connection will be manually accessible. - | - */ - - 'default' => 'production', - - /* - |-------------------------------------------------------------------------- - | Remote Server Connections - |-------------------------------------------------------------------------- - | - | These are the servers that will be accessible via the SSH task runner - | facilities of Laravel. This feature radically simplifies executing - | tasks on your servers, such as deploying out these applications. - | - */ - - 'connections' => array( - - 'production' => array( - 'host' => '', - 'username' => '', - 'password' => '', - 'key' => '', - 'keyphrase' => '', - 'root' => '/var/www', - ), - - ), - - /* - |-------------------------------------------------------------------------- - | Remote Server Groups - |-------------------------------------------------------------------------- - | - | Here you may list connections under a single group name, which allows - | you to easily access all of the servers at once using a short name - | that is extremely easy to remember, such as "web" or "database". - | - */ - - 'groups' => array( - - 'web' => array('production') - - ), - -); diff --git a/app/config/services.php b/app/config/services.php deleted file mode 100644 index c8aba2a..0000000 --- a/app/config/services.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Third Party Services - |-------------------------------------------------------------------------- - | - | This file is for storing the credentials for third party services such - | as Stripe, Mailgun, Mandrill, and others. This file provides a sane - | default location for this type of information, allowing packages - | to have a conventional place to find your various credentials. - | - */ - - 'mailgun' => array( - 'domain' => '', - 'secret' => '', - ), - - 'mandrill' => array( - 'secret' => '', - ), - - 'stripe' => array( - 'model' => 'User', - 'secret' => '', - ), - -); diff --git a/app/config/session.php b/app/config/session.php deleted file mode 100644 index ae34302..0000000 --- a/app/config/session.php +++ /dev/null @@ -1,140 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Default Session Driver - |-------------------------------------------------------------------------- - | - | This option controls the default session "driver" that will be used on - | requests. By default, we will use the lightweight native driver but - | you may specify any of the other wonderful drivers provided here. - | - | Supported: "file", "cookie", "database", "apc", - | "memcached", "redis", "array" - | - */ - - 'driver' => 'file', - - /* - |-------------------------------------------------------------------------- - | Session Lifetime - |-------------------------------------------------------------------------- - | - | Here you may specify the number of minutes that you wish the session - | to be allowed to remain idle before it expires. If you want them - | to immediately expire on the browser closing, set that option. - | - */ - - 'lifetime' => 120, - - 'expire_on_close' => false, - - /* - |-------------------------------------------------------------------------- - | Session File Location - |-------------------------------------------------------------------------- - | - | When using the native session driver, we need a location where session - | files may be stored. A default has been set for you but a different - | location may be specified. This is only needed for file sessions. - | - */ - - 'files' => storage_path().'/sessions', - - /* - |-------------------------------------------------------------------------- - | Session Database Connection - |-------------------------------------------------------------------------- - | - | When using the "database" or "redis" session drivers, you may specify a - | connection that should be used to manage these sessions. This should - | correspond to a connection in your database configuration options. - | - */ - - 'connection' => null, - - /* - |-------------------------------------------------------------------------- - | Session Database Table - |-------------------------------------------------------------------------- - | - | When using the "database" session driver, you may specify the table we - | should use to manage the sessions. Of course, a sensible default is - | provided for you; however, you are free to change this as needed. - | - */ - - 'table' => 'sessions', - - /* - |-------------------------------------------------------------------------- - | Session Sweeping Lottery - |-------------------------------------------------------------------------- - | - | Some session drivers must manually sweep their storage location to get - | rid of old sessions from storage. Here are the chances that it will - | happen on a given request. By default, the odds are 2 out of 100. - | - */ - - 'lottery' => array(2, 100), - - /* - |-------------------------------------------------------------------------- - | Session Cookie Name - |-------------------------------------------------------------------------- - | - | Here you may change the name of the cookie used to identify a session - | instance by ID. The name specified here will get used every time a - | new session cookie is created by the framework for every driver. - | - */ - - 'cookie' => 'laravel_session', - - /* - |-------------------------------------------------------------------------- - | Session Cookie Path - |-------------------------------------------------------------------------- - | - | The session cookie path determines the path for which the cookie will - | be regarded as available. Typically, this will be the root path of - | your application but you are free to change this when necessary. - | - */ - - 'path' => '/', - - /* - |-------------------------------------------------------------------------- - | Session Cookie Domain - |-------------------------------------------------------------------------- - | - | Here you may change the domain of the cookie used to identify a session - | in your application. This will determine which domains the cookie is - | available to in your application. A sensible default has been set. - | - */ - - 'domain' => null, - - /* - |-------------------------------------------------------------------------- - | HTTPS Only Cookies - |-------------------------------------------------------------------------- - | - | By setting this option to true, session cookies will only be sent back - | to the server if the browser has a HTTPS connection. This will keep - | the cookie from being sent to you if it can not be done securely. - | - */ - - 'secure' => false, - -); diff --git a/app/config/testing/cache.php b/app/config/testing/cache.php deleted file mode 100644 index 66a8a39..0000000 --- a/app/config/testing/cache.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Default Cache Driver - |-------------------------------------------------------------------------- - | - | This option controls the default cache "driver" that will be used when - | using the Caching library. Of course, you may use other drivers any - | time you wish. This is the default when another is not specified. - | - | Supported: "file", "database", "apc", "memcached", "redis", "array" - | - */ - - 'driver' => 'array', - -); diff --git a/app/config/testing/session.php b/app/config/testing/session.php deleted file mode 100644 index 0364b63..0000000 --- a/app/config/testing/session.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Default Session Driver - |-------------------------------------------------------------------------- - | - | This option controls the default session "driver" that will be used on - | requests. By default, we will use the lightweight native driver but - | you may specify any of the other wonderful drivers provided here. - | - | Supported: "native", "cookie", "database", "apc", - | "memcached", "redis", "array" - | - */ - - 'driver' => 'array', - -); diff --git a/app/config/view.php b/app/config/view.php deleted file mode 100644 index 34b8f38..0000000 --- a/app/config/view.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | View Storage Paths - |-------------------------------------------------------------------------- - | - | Most templating systems load templates from disk. Here you may specify - | an array of paths that should be checked for your views. Of course - | the usual Laravel view path has already been registered for you. - | - */ - - 'paths' => array(__DIR__.'/../views'), - - /* - |-------------------------------------------------------------------------- - | Pagination View - |-------------------------------------------------------------------------- - | - | This view will be used to render the pagination link output, and can - | be easily customized here to show any view you like. A clean view - | compatible with Twitter's Bootstrap is given to you by default. - | - */ - - 'pagination' => 'pagination::slider-3', - -); diff --git a/app/config/workbench.php b/app/config/workbench.php deleted file mode 100644 index 87c5e38..0000000 --- a/app/config/workbench.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Workbench Author Name - |-------------------------------------------------------------------------- - | - | When you create new packages via the Artisan "workbench" command your - | name is needed to generate the composer.json file for your package. - | You may specify it now so it is used for all of your workbenches. - | - */ - - 'name' => '', - - /* - |-------------------------------------------------------------------------- - | Workbench Author E-Mail Address - |-------------------------------------------------------------------------- - | - | Like the option above, your e-mail address is used when generating new - | workbench packages. The e-mail is placed in your composer.json file - | automatically after the package is created by the workbench tool. - | - */ - - 'email' => '', - -); diff --git a/app/controllers/.gitkeep b/app/controllers/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/app/controllers/BaseController.php b/app/controllers/BaseController.php deleted file mode 100644 index 2bee464..0000000 --- a/app/controllers/BaseController.php +++ /dev/null @@ -1,18 +0,0 @@ -<?php - -class BaseController extends Controller { - - /** - * Setup the layout used by the controller. - * - * @return void - */ - protected function setupLayout() - { - if ( ! is_null($this->layout)) - { - $this->layout = View::make($this->layout); - } - } - -} diff --git a/app/controllers/HomeController.php b/app/controllers/HomeController.php deleted file mode 100644 index 37935c4..0000000 --- a/app/controllers/HomeController.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -class HomeController extends BaseController { - - /* - |-------------------------------------------------------------------------- - | Default Home Controller - |-------------------------------------------------------------------------- - | - | You may wish to use controllers instead of, or in addition to, Closure - | based routes. That's great! Here is an example controller method to - | get you started. To route to this controller, just add the route: - | - | Route::get('/', 'HomeController@showWelcome'); - | - */ - - public function show() - { - return View::make('hello'); - } - -} diff --git a/app/database/.gitignore b/app/database/.gitignore deleted file mode 100644 index 9b1dffd..0000000 --- a/app/database/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.sqlite diff --git a/app/database/migrations/.gitkeep b/app/database/migrations/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/app/database/migrations/2014_08_14_223444_create_actions_table.php b/app/database/migrations/2014_08_14_223444_create_actions_table.php deleted file mode 100644 index 3e632c8..0000000 --- a/app/database/migrations/2014_08_14_223444_create_actions_table.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateActionsTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('actions', function(Blueprint $table) - { - $table->increments('id'); - $table->string('number', 20); - $table->time('start_time'); - $table->time('end_time'); - $table->char('type', 20); - $table->text('url')->index('url'); - $table->boolean('total_participants'); - $table->char('outcome', 20)->index('outcome'); - $table->text('voting_topic'); - $table->text('title'); - $table->integer('questions_id')->index('questions_id'); - $table->text('dom'); - $table->unique(['number','questions_id'], 'number'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('actions'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_items_table.php b/app/database/migrations/2014_08_14_223444_create_items_table.php deleted file mode 100644 index 472db68..0000000 --- a/app/database/migrations/2014_08_14_223444_create_items_table.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateItemsTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('items', function(Blueprint $table) - { - $table->integer('id', true); - $table->boolean('number'); - $table->integer('questions_id')->index('questions_id'); - $table->text('title'); - $table->text('document_url'); - $table->text('related_doc_url'); - $table->unique(['number','questions_id'], 'number'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('items'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_members_notes_table.php b/app/database/migrations/2014_08_14_223444_create_members_notes_table.php deleted file mode 100644 index a5bd1a6..0000000 --- a/app/database/migrations/2014_08_14_223444_create_members_notes_table.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateMembersNotesTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('members_notes', function(Blueprint $table) - { - $table->integer('members_id'); - $table->enum('sittings_cadency', array('2008-2012','2012-2016','1996-2000','2000-2004','2004-2008')); - $table->date('cadency_start')->nullable(); - $table->date('cadency_end')->nullable(); - $table->char('notes', 100); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('members_notes'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_members_table.php b/app/database/migrations/2014_08_14_223444_create_members_table.php deleted file mode 100644 index a9d0548..0000000 --- a/app/database/migrations/2014_08_14_223444_create_members_table.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateMembersTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('members', function(Blueprint $table) - { - $table->integer('id')->primary(); - $table->char('fraction', 20); - $table->text('image_src'); - $table->char('name', 100); - $table->date('cadency_start'); - $table->date('cadency_end')->index('cadency_end'); - $table->string('notes', 100); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('members'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_participation_data_table.php b/app/database/migrations/2014_08_14_223444_create_participation_data_table.php deleted file mode 100644 index 944ff54..0000000 --- a/app/database/migrations/2014_08_14_223444_create_participation_data_table.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateParticipationDataTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('participation_data', function(Blueprint $table) - { - $table->bigInteger('id', true)->unsigned(); - $table->integer('sittings_id')->index('sittings_id_2'); - $table->integer('members_id')->index('members_id'); - $table->float('hours_available', 10, 0); - $table->float('hours_present', 10, 0); - $table->boolean('official_presence')->index('official_presence'); - $table->unique(['sittings_id','members_id'], 'sittings_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('participation_data'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_presenters_table.php b/app/database/migrations/2014_08_14_223444_create_presenters_table.php deleted file mode 100644 index 07e7725..0000000 --- a/app/database/migrations/2014_08_14_223444_create_presenters_table.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreatePresentersTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('presenters', function(Blueprint $table) - { - $table->integer('id', true); - $table->boolean('number'); - $table->integer('items_id')->index('items_id'); - $table->text('presenter'); - $table->unique(['number','items_id'], 'number'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('presenters'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_questions_table.php b/app/database/migrations/2014_08_14_223444_create_questions_table.php deleted file mode 100644 index 1e5ab5c..0000000 --- a/app/database/migrations/2014_08_14_223444_create_questions_table.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateQuestionsTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('questions', function(Blueprint $table) - { - $table->integer('id', true); - $table->dateTime('start_time'); - $table->dateTime('end_time'); - $table->text('url'); - $table->text('title'); - $table->integer('sittings_id')->index('sittings_id_2'); - $table->time('effective_length'); - $table->boolean('number'); - $table->unique(['sittings_id','number'], 'sittings_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('questions'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_registrations_table.php b/app/database/migrations/2014_08_14_223444_create_registrations_table.php deleted file mode 100644 index b75a6fd..0000000 --- a/app/database/migrations/2014_08_14_223444_create_registrations_table.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateRegistrationsTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('registrations', function(Blueprint $table) - { - $table->increments('id'); - $table->integer('actions_id'); - $table->integer('members_id'); - $table->boolean('presence'); - $table->unique(['actions_id','members_id'], 'actions_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('registrations'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_sessions_table.php b/app/database/migrations/2014_08_14_223444_create_sessions_table.php deleted file mode 100644 index 2245308..0000000 --- a/app/database/migrations/2014_08_14_223444_create_sessions_table.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateSessionsTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('sessions', function(Blueprint $table) - { - $table->boolean('id')->primary(); - $table->text('url'); - $table->char('type', 20); - $table->enum('kadencija', array('1996-2000','2000-2004','2004-2008','2008-2012','2012-2016')); - $table->boolean('number'); - $table->date('start_date'); - $table->date('end_date'); - $table->time('effective_length'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('sessions'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_sitting_participation_table.php b/app/database/migrations/2014_08_14_223444_create_sitting_participation_table.php deleted file mode 100644 index 31039a4..0000000 --- a/app/database/migrations/2014_08_14_223444_create_sitting_participation_table.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateSittingParticipationTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('sitting_participation', function(Blueprint $table) - { - $table->increments('id'); - $table->boolean('presence')->index('presence'); - $table->integer('sittings_id')->index('sittings_id_2'); - $table->integer('members_id')->index('members_id'); - $table->unique(['sittings_id','members_id'], 'sittings_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('sitting_participation'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_sittings_table.php b/app/database/migrations/2014_08_14_223444_create_sittings_table.php deleted file mode 100644 index d4fb745..0000000 --- a/app/database/migrations/2014_08_14_223444_create_sittings_table.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateSittingsTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('sittings', function(Blueprint $table) - { - $table->integer('id', true); - $table->boolean('number'); - $table->text('type'); - $table->text('transcript_url'); - $table->text('recording_url'); - $table->text('protocol_url'); - $table->dateTime('start_time'); - $table->time('effective_length'); - $table->text('url'); - $table->dateTime('end_time'); - $table->text('participation_url'); - $table->boolean('sessions_id'); - $table->enum('cadency', array('2008-2012','2012-2016','2004-2008','1996-2000','2000-2004'))->default('2012-2016')->index('cadency'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('sittings'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_speakers_table.php b/app/database/migrations/2014_08_14_223444_create_speakers_table.php deleted file mode 100644 index 00b42ce..0000000 --- a/app/database/migrations/2014_08_14_223444_create_speakers_table.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateSpeakersTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('speakers', function(Blueprint $table) - { - $table->increments('id'); - $table->integer('members_id'); - $table->integer('actions_id')->index('actions_id'); - $table->unique(['members_id','actions_id'], 'members_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('speakers'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_subquestions_participation_table.php b/app/database/migrations/2014_08_14_223444_create_subquestions_participation_table.php deleted file mode 100644 index 5277284..0000000 --- a/app/database/migrations/2014_08_14_223444_create_subquestions_participation_table.php +++ /dev/null @@ -1,36 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateSubquestionsParticipationTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('subquestions_participation', function(Blueprint $table) - { - $table->increments('id'); - $table->integer('subquestions_id')->index('subquestions_id_2'); - $table->integer('members_id')->index('members_id'); - $table->boolean('presence'); - $table->unique(['subquestions_id','members_id'], 'subquestions_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('subquestions_participation'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_subquestions_table.php b/app/database/migrations/2014_08_14_223444_create_subquestions_table.php deleted file mode 100644 index d8f1462..0000000 --- a/app/database/migrations/2014_08_14_223444_create_subquestions_table.php +++ /dev/null @@ -1,37 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateSubquestionsTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('subquestions', function(Blueprint $table) - { - $table->increments('id'); - $table->integer('questions_id')->index('questions_id_2'); - $table->boolean('number')->index('number'); - $table->dateTime('start_time'); - $table->dateTime('end_time'); - $table->unique(['questions_id','number'], 'questions_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('subquestions'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_votes_table.php b/app/database/migrations/2014_08_14_223444_create_votes_table.php deleted file mode 100644 index 6f90f5d..0000000 --- a/app/database/migrations/2014_08_14_223444_create_votes_table.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateVotesTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('votes', function(Blueprint $table) - { - $table->increments('id'); - $table->integer('actions_id')->index('actions_id_2'); - $table->integer('members_id')->index('members_id'); - $table->char('fraction', 10); - $table->char('vote', 10)->index('vote'); - $table->unique(['actions_id','members_id'], 'actions_id'); - $table->index(['actions_id','vote'], 'actions_id_3'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('votes'); - } - -} diff --git a/app/database/migrations/2014_08_14_223444_create_voting_registration_table.php b/app/database/migrations/2014_08_14_223444_create_voting_registration_table.php deleted file mode 100644 index 0e86ac9..0000000 --- a/app/database/migrations/2014_08_14_223444_create_voting_registration_table.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php - -use Illuminate\Database\Migrations\Migration; -use Illuminate\Database\Schema\Blueprint; - -class CreateVotingRegistrationTable extends Migration { - - /** - * Run the migrations. - * - * @return void - */ - public function up() - { - Schema::create('voting_registration', function(Blueprint $table) - { - $table->increments('id'); - $table->integer('registration_id'); - $table->integer('voting_id')->unique('voting_id'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('voting_registration'); - } - -} diff --git a/app/database/seeds/.gitkeep b/app/database/seeds/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/app/database/seeds/DatabaseSeeder.php b/app/database/seeds/DatabaseSeeder.php deleted file mode 100644 index 1989252..0000000 --- a/app/database/seeds/DatabaseSeeder.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -class DatabaseSeeder extends Seeder { - - /** - * Run the database seeds. - * - * @return void - */ - public function run() - { - Eloquent::unguard(); - - // $this->call('UserTableSeeder'); - } - -} diff --git a/app/filters.php b/app/filters.php deleted file mode 100644 index fd0b4bc..0000000 --- a/app/filters.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php - -/* -|-------------------------------------------------------------------------- -| Application & Route Filters -|-------------------------------------------------------------------------- -| -| Below you will find the "before" and "after" events for the application -| which may be used to do any work before or after a request into your -| application. Here you may also register your custom route filters. -| -*/ - -App::before(function($request) -{ - // -}); - - -App::after(function($request, $response) -{ - // -}); - -/* -|-------------------------------------------------------------------------- -| Authentication Filters -|-------------------------------------------------------------------------- -| -| The following filters are used to verify that the user of the current -| session is logged into this application. The "basic" filter easily -| integrates HTTP Basic authentication for quick, simple checking. -| -*/ - -Route::filter('auth', function() -{ - if (Auth::guest()) - { - if (Request::ajax()) - { - return Response::make('Unauthorized', 401); - } - else - { - return Redirect::guest('login'); - } - } -}); - - -Route::filter('auth.basic', function() -{ - return Auth::basic(); -}); - -/* -|-------------------------------------------------------------------------- -| Guest Filter -|-------------------------------------------------------------------------- -| -| The "guest" filter is the counterpart of the authentication filters as -| it simply checks that the current user is not logged in. A redirect -| response will be issued if they are, which you may freely change. -| -*/ - -Route::filter('guest', function() -{ - if (Auth::check()) return Redirect::to('/'); -}); - -/* -|-------------------------------------------------------------------------- -| CSRF Protection Filter -|-------------------------------------------------------------------------- -| -| The CSRF filter is responsible for protecting your application against -| cross-site request forgery attacks. If this special token in a user -| session does not match the one given in this request, we'll bail. -| -*/ - -Route::filter('csrf', function() -{ - if (Session::token() != Input::get('_token')) - { - throw new Illuminate\Session\TokenMismatchException; - } -}); diff --git a/app/lang/en/pagination.php b/app/lang/en/pagination.php deleted file mode 100644 index 6b99ef5..0000000 --- a/app/lang/en/pagination.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Pagination Language Lines - |-------------------------------------------------------------------------- - | - | The following language lines are used by the paginator library to build - | the simple pagination links. You are free to change them to anything - | you want to customize your views to better match your application. - | - */ - - 'previous' => '« Previous', - - 'next' => 'Next »', - -); diff --git a/app/lang/en/reminders.php b/app/lang/en/reminders.php deleted file mode 100644 index e42148e..0000000 --- a/app/lang/en/reminders.php +++ /dev/null @@ -1,24 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Password Reminder Language Lines - |-------------------------------------------------------------------------- - | - | The following language lines are the default lines which match reasons - | that are given by the password broker for a password update attempt - | has failed, such as for an invalid token or invalid new password. - | - */ - - "password" => "Passwords must be at least six characters and match the confirmation.", - - "user" => "We can't find a user with that e-mail address.", - - "token" => "This password reset token is invalid.", - - "sent" => "Password reminder sent!", - -); diff --git a/app/lang/en/validation.php b/app/lang/en/validation.php deleted file mode 100644 index e621614..0000000 --- a/app/lang/en/validation.php +++ /dev/null @@ -1,106 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Validation Language Lines - |-------------------------------------------------------------------------- - | - | The following language lines contain the default error messages used by - | the validator class. Some of these rules have multiple versions such - | as the size rules. Feel free to tweak each of these messages here. - | - */ - - "accepted" => "The :attribute must be accepted.", - "active_url" => "The :attribute is not a valid URL.", - "after" => "The :attribute must be a date after :date.", - "alpha" => "The :attribute may only contain letters.", - "alpha_dash" => "The :attribute may only contain letters, numbers, and dashes.", - "alpha_num" => "The :attribute may only contain letters and numbers.", - "array" => "The :attribute must be an array.", - "before" => "The :attribute must be a date before :date.", - "between" => array( - "numeric" => "The :attribute must be between :min and :max.", - "file" => "The :attribute must be between :min and :max kilobytes.", - "string" => "The :attribute must be between :min and :max characters.", - "array" => "The :attribute must have between :min and :max items.", - ), - "boolean" => "The :attribute field must be true or false", - "confirmed" => "The :attribute confirmation does not match.", - "date" => "The :attribute is not a valid date.", - "date_format" => "The :attribute does not match the format :format.", - "different" => "The :attribute and :other must be different.", - "digits" => "The :attribute must be :digits digits.", - "digits_between" => "The :attribute must be between :min and :max digits.", - "email" => "The :attribute must be a valid email address.", - "exists" => "The selected :attribute is invalid.", - "image" => "The :attribute must be an image.", - "in" => "The selected :attribute is invalid.", - "integer" => "The :attribute must be an integer.", - "ip" => "The :attribute must be a valid IP address.", - "max" => array( - "numeric" => "The :attribute may not be greater than :max.", - "file" => "The :attribute may not be greater than :max kilobytes.", - "string" => "The :attribute may not be greater than :max characters.", - "array" => "The :attribute may not have more than :max items.", - ), - "mimes" => "The :attribute must be a file of type: :values.", - "min" => array( - "numeric" => "The :attribute must be at least :min.", - "file" => "The :attribute must be at least :min kilobytes.", - "string" => "The :attribute must be at least :min characters.", - "array" => "The :attribute must have at least :min items.", - ), - "not_in" => "The selected :attribute is invalid.", - "numeric" => "The :attribute must be a number.", - "regex" => "The :attribute format is invalid.", - "required" => "The :attribute field is required.", - "required_if" => "The :attribute field is required when :other is :value.", - "required_with" => "The :attribute field is required when :values is present.", - "required_with_all" => "The :attribute field is required when :values is present.", - "required_without" => "The :attribute field is required when :values is not present.", - "required_without_all" => "The :attribute field is required when none of :values are present.", - "same" => "The :attribute and :other must match.", - "size" => array( - "numeric" => "The :attribute must be :size.", - "file" => "The :attribute must be :size kilobytes.", - "string" => "The :attribute must be :size characters.", - "array" => "The :attribute must contain :size items.", - ), - "unique" => "The :attribute has already been taken.", - "url" => "The :attribute format is invalid.", - - /* - |-------------------------------------------------------------------------- - | Custom Validation Language Lines - |-------------------------------------------------------------------------- - | - | Here you may specify custom validation messages for attributes using the - | convention "attribute.rule" to name the lines. This makes it quick to - | specify a specific custom language line for a given attribute rule. - | - */ - - 'custom' => array( - 'attribute-name' => array( - 'rule-name' => 'custom-message', - ), - 'vote' => ['in' => 'Vote value needs to be one of ":values" '] - ), - - /* - |-------------------------------------------------------------------------- - | Custom Validation Attributes - |-------------------------------------------------------------------------- - | - | The following language lines are used to swap attribute place-holders - | with something more reader friendly such as E-Mail Address instead - | of "email". This simply helps us make messages a little cleaner. - | - */ - - 'attributes' => array(), - -); diff --git a/app/models/Action.php b/app/models/Action.php deleted file mode 100644 index 49a45c8..0000000 --- a/app/models/Action.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -namespace Seimas; - -class Action extends \Eloquent { - use DefaultParameterTrait; - - protected $fillable = []; - protected $table = 'actions'; - protected $primaryKey = 'id'; - public $timestamps = false; - - const REGISTRATION = 'registration'; - const SPEECH = 'speech'; - const VOTE = 'voting'; - const UNANIMOUS_VOTE = 'u_voting'; - const OTHER = 'other'; - - public function question() { - return $this->belongsTo('Seimas\Question', 'questions_id', 'id'); - } - -} \ No newline at end of file diff --git a/app/models/DefaultParameterTrait.php b/app/models/DefaultParameterTrait.php deleted file mode 100644 index 7ed087f..0000000 --- a/app/models/DefaultParameterTrait.php +++ /dev/null @@ -1,27 +0,0 @@ -<?php - -namespace Seimas; -use \Illuminate\Database\Eloquent\Relations\BelongsToMany; -use Illuminate\Support\Facades\Validator; -/** - * Description of DefaultParameterTrait - * - * @author aurimas - */ -trait DefaultParameterTrait { - - public function defaultPivotParameter(BelongsToMany $pivotQuery, $parameter, $value, $validation = null) { - $validator = Validator::make([$parameter => $value], [$parameter => $validation]); - if ($value === null) { - return $pivotQuery; - } elseif ( - ($validation === null) or - ($validator->passes()) - ) { - return $pivotQuery->wherePivot($parameter, $value); - } else { - throw new \InvalidArgumentException($validator->messages()->first()); - } - } - -} diff --git a/app/models/Item.php b/app/models/Item.php deleted file mode 100644 index 3a58213..0000000 --- a/app/models/Item.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -namespace Seimas; - -class Item extends \Eloquent { - protected $fillable = []; - protected $table = 'items'; - protected $primaryKey = 'id'; - public $timestamps = false; - - public function question() { - return $this->belongsTo('Seimas\Question', 'questions_id', $this->primaryKey); - } - - public function presenters() { - return $this->hasMany('Seimas\Presenter', 'items_id', $this->primaryKey); - } - -} \ No newline at end of file diff --git a/app/models/Member.php b/app/models/Member.php deleted file mode 100644 index ac28e49..0000000 --- a/app/models/Member.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php - -namespace Seimas; - -class Member extends \Eloquent { - - use DefaultParameterTrait; - - protected $fillable = []; - protected $table = 'members'; - protected $primaryKey = 'id'; - public $timestamps = false; - - public function sittings($participated = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Sitting', 'sitting_participation', 'members_id', 'sittings_id') - ->withPivot('presence'), - 'presence', - $participated, - 'boolean' - ); - } - - public function sittingsWithData($participated = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Sitting', 'participation_data', 'members_id', 'sittings_id') - ->withPivot('official_presence', 'hours_present', 'hours_available'), - 'official_presence', - $participated, - 'boolean' - ); - } - - public function speeches() { - return $this->belongsToMany('Seimas\Speech', 'speakers', 'members_id', 'actions_id'); - } - - public function votes($voteType = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Vote', 'votes', 'members_id', 'actions_id') - ->withPivot('fraction', 'vote'), - 'vote', - $voteType, - Vote::validVoteRule() - ); - } - - public function registrations($presence = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Registration', 'registrations', 'members_id', 'actions_id') - ->withPivot('presence'), - 'presence', - $presence, - 'boolean' - ); - } - - public function subquestions($participated = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Subquestion', 'subquestions_participation', 'members_id', 'subquestions_id') - ->withPivot('presence'), - 'presence', - $participated, - 'boolean' - ); - } - -} \ No newline at end of file diff --git a/app/models/Presenter.php b/app/models/Presenter.php deleted file mode 100644 index 7cde4bf..0000000 --- a/app/models/Presenter.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Seimas; - -class Presenter extends \Eloquent { - protected $fillable = []; - protected $table = 'presenters'; - protected $primaryKey = 'id'; - public $timestamps = false; - - public function item() { - return $this->belongsTo('Seimas\Item', 'items_id', $this->primaryKey); - } -} \ No newline at end of file diff --git a/app/models/Question.php b/app/models/Question.php deleted file mode 100644 index 84f2fc0..0000000 --- a/app/models/Question.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -namespace Seimas; - -class Question extends \Eloquent { - protected $fillable = []; - protected $table = 'questions'; - protected $primaryKey = 'id'; - public $timestamps = false; - - public function sitting() { - return $this->belongsTo('Seimas\Sitting', 'sittings_id', $this->primaryKey); - } - - public function subquestions() { - return $this->hasMany('Seimas\Subquestion', 'questions_id', $this->primaryKey); - } - - public function actions() { - return $this->hasMany('Seimas\Action', 'questions_id', $this->primaryKey); - } - - public function registrations() { - return $this->hasMany('Seimas\Registration', 'questions_id', $this->primaryKey) - ->where('type', Action::REGISTRATION); - } - - public function votes() { - return $this->hasMany('Seimas\Vote', 'questions_id', $this->primaryKey) - ->where('type', Action::VOTE); - } - - public function speeches() { - return $this->hasMany('Seimas\Speech', 'questions_id', $this->primaryKey) - ->where('type', Action::SPEECH); - } - - public function unanimousVotes() { - return $this->hasMany('Seimas\Vote', 'questions_id', $this->primaryKey) - ->where('type', Action::UNANIMOUS_VOTE); - } - - public function items() { - return $this->hasMany('Seimas\Item', 'questions_id', $this->primaryKey); - } -} \ No newline at end of file diff --git a/app/models/Registration.php b/app/models/Registration.php deleted file mode 100644 index 77862a8..0000000 --- a/app/models/Registration.php +++ /dev/null @@ -1,22 +0,0 @@ -<?php - -namespace Seimas; - - -class Registration extends Action { - - public function members($presence = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Member', 'registrations', 'actions_id', 'members_id') - ->withPivot('presence'), - 'presence', - $presence, - 'boolean' - ); - } - public function votes() { - return $this->belongsToMany('Seimas\Vote', 'voting_registration', 'registration_id', 'voting_id'); - } -} - diff --git a/app/models/Session.php b/app/models/Session.php deleted file mode 100644 index 28b32fb..0000000 --- a/app/models/Session.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php - -namespace Seimas; - -class Session extends \Eloquent { - protected $fillable = []; - protected $table = 'sessions'; - protected $primaryKey = 'id'; - public $timestamps = false; - - public function sittings() { - return $this->hasMany('Seimas\Sitting', 'sessions_id', $this->primaryKey); - } -} \ No newline at end of file diff --git a/app/models/Sitting.php b/app/models/Sitting.php deleted file mode 100644 index 77fea03..0000000 --- a/app/models/Sitting.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php - -namespace Seimas; - -class Sitting extends \Eloquent { - use DefaultParameterTrait; - - protected $fillable = []; - protected $table = 'sittings'; - protected $primaryKey = 'id'; - public $timestamps = false; - - public function session() { - return $this->belongsTo('Seimas\Session', 'sessions_id', 'id'); - } - - public function questions() { - return $this->hasMany('Seimas\Question', 'sittings_id', $this->primaryKey); - } - - public function members($participated = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Member', 'sitting_participation', 'sittings_id', 'members_id') - ->withPivot('presence'), - 'presence', - $participated, - 'boolean' - ); - } - - public function membersWithData($participated = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Member', 'participation_data', 'sittings_id', 'members_id') - ->withPivot('official_presence', 'hours_available', 'hours_present'), - 'official_presence', - $participated, - 'boolean' - ); - } -} \ No newline at end of file diff --git a/app/models/Speech.php b/app/models/Speech.php deleted file mode 100644 index 7d9623e..0000000 --- a/app/models/Speech.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -namespace Seimas; - - -class Speech extends Action { - - public function member() { - return $this->belongsToMany('Seimas\Member', 'speakers', 'actions_id', 'members_id')->first(); - } -} - diff --git a/app/models/Subquestion.php b/app/models/Subquestion.php deleted file mode 100644 index e71f4f0..0000000 --- a/app/models/Subquestion.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -namespace Seimas; - -class Subquestion extends \Eloquent { - use DefaultParameterTrait; - - protected $fillable = []; - protected $table = 'subquestions'; - protected $primaryKey = 'id'; - public $timestamps = false; - - - public function question() { - return $this->belongsTo('Seimas\Question', 'questions_id', $this->primaryKey); - } - - public function members($participated = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Member', 'subquestions_participation', 'subquestions_id', 'members_id') - ->withPivot('presence'), - 'presence', - $participated, - 'boolean' - ); - } - -} \ No newline at end of file diff --git a/app/models/User.php b/app/models/User.php deleted file mode 100644 index af00a49..0000000 --- a/app/models/User.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -use Illuminate\Auth\UserTrait; -use Illuminate\Auth\UserInterface; -use Illuminate\Auth\Reminders\RemindableTrait; -use Illuminate\Auth\Reminders\RemindableInterface; - -class User extends Eloquent implements UserInterface, RemindableInterface { - - use UserTrait, RemindableTrait; - - /** - * The database table used by the model. - * - * @var string - */ - protected $table = 'users'; - - /** - * The attributes excluded from the model's JSON form. - * - * @var array - */ - protected $hidden = array('password', 'remember_token'); - -} diff --git a/app/models/Vote.php b/app/models/Vote.php deleted file mode 100644 index 36a50ac..0000000 --- a/app/models/Vote.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -namespace Seimas; - - -class Vote extends Action { - - const ACCEPT = 'accept'; - const REJECT = 'reject'; - const ABSTAIN = 'abstain'; - const NO_VOTE = 'not presen'; - const LEFT_MID_VOTE = 'disappeare'; - - public static function validVoteRule() { - return 'in:' . implode(',', [Vote::ABSTAIN,Vote::ACCEPT, Vote::LEFT_MID_VOTE, Vote::NO_VOTE, Vote::REJECT]); - } - - public function members($voteType = null) { - return - $this->defaultPivotParameter( - $this->belongsToMany('Seimas\Member', 'votes', 'actions_id', 'members_id') - ->withPivot('fraction', 'vote'), - 'vote', - $voteType, - self::validVoteRule() - ); - } - - public function registration() { - return $this->belongsToMany('Seimas\Registration', 'voting_registration', 'voting_id', 'registration_id') - ->first(); - } -} \ No newline at end of file diff --git a/app/routes.php b/app/routes.php deleted file mode 100644 index 3e10dcf..0000000 --- a/app/routes.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -/* -|-------------------------------------------------------------------------- -| Application Routes -|-------------------------------------------------------------------------- -| -| Here is where you can register all of the routes for an application. -| It's a breeze. Simply tell Laravel the URIs it should respond to -| and give it the Closure to execute when that URI is requested. -| -*/ - -Route::get('/', function() -{ - return View::make('hello'); -}); diff --git a/app/start/artisan.php b/app/start/artisan.php deleted file mode 100644 index 1df850b..0000000 --- a/app/start/artisan.php +++ /dev/null @@ -1,13 +0,0 @@ -<?php - -/* -|-------------------------------------------------------------------------- -| Register The Artisan Commands -|-------------------------------------------------------------------------- -| -| Each available Artisan command must be registered with the console so -| that it is available to be called. We'll register every command so -| the console gets access to each of the command object instances. -| -*/ - diff --git a/app/start/global.php b/app/start/global.php deleted file mode 100644 index 82ab9ba..0000000 --- a/app/start/global.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -/* -|-------------------------------------------------------------------------- -| Register The Laravel Class Loader -|-------------------------------------------------------------------------- -| -| In addition to using Composer, you may use the Laravel class loader to -| load your controllers and models. This is useful for keeping all of -| your classes in the "global" namespace without Composer updating. -| -*/ - -ClassLoader::addDirectories(array( - - app_path().'/commands', - app_path().'/controllers', - app_path().'/models', - app_path().'/database/seeds', - -)); - -/* -|-------------------------------------------------------------------------- -| Application Error Logger -|-------------------------------------------------------------------------- -| -| Here we will configure the error logger setup for the application which -| is built on top of the wonderful Monolog library. By default we will -| build a basic log file setup which creates a single file for logs. -| -*/ - -Log::useFiles(storage_path().'/logs/laravel.log'); - -/* -|-------------------------------------------------------------------------- -| Application Error Handler -|-------------------------------------------------------------------------- -| -| Here you may handle any errors that occur in your application, including -| logging them or displaying custom views for specific errors. You may -| even register several error handlers to handle different types of -| exceptions. If nothing is returned, the default error view is -| shown, which includes a detailed stack trace during debug. -| -*/ - -App::error(function(Exception $exception, $code) -{ - Log::error($exception); -}); - -/* -|-------------------------------------------------------------------------- -| Maintenance Mode Handler -|-------------------------------------------------------------------------- -| -| The "down" Artisan command gives you the ability to put an application -| into maintenance mode. Here, you will define what is displayed back -| to the user if maintenance mode is in effect for the application. -| -*/ - -App::down(function() -{ - return Response::make("Be right back!", 503); -}); - -/* -|-------------------------------------------------------------------------- -| Require The Filters File -|-------------------------------------------------------------------------- -| -| Next we will load the filters file for the application. This gives us -| a nice separate location to store our route and application filter -| definitions instead of putting them all in the main routes file. -| -*/ - -require app_path().'/filters.php'; diff --git a/app/start/local.php b/app/start/local.php deleted file mode 100644 index 3d14850..0000000 --- a/app/start/local.php +++ /dev/null @@ -1,3 +0,0 @@ -<?php - -// \ No newline at end of file diff --git a/app/storage/.gitignore b/app/storage/.gitignore deleted file mode 100755 index 35b719c..0000000 --- a/app/storage/.gitignore +++ /dev/null @@ -1 +0,0 @@ -services.manifest \ No newline at end of file diff --git a/app/storage/debugbar/.gitignore b/app/storage/debugbar/.gitignore deleted file mode 100755 index c96a04f..0000000 --- a/app/storage/debugbar/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore \ No newline at end of file diff --git a/app/storage/logs/.gitignore b/app/storage/logs/.gitignore deleted file mode 100755 index c96a04f..0000000 --- a/app/storage/logs/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore \ No newline at end of file diff --git a/app/storage/meta/.gitignore b/app/storage/meta/.gitignore deleted file mode 100755 index c96a04f..0000000 --- a/app/storage/meta/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore \ No newline at end of file diff --git a/app/storage/sessions/.gitignore b/app/storage/sessions/.gitignore deleted file mode 100755 index c96a04f..0000000 --- a/app/storage/sessions/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore \ No newline at end of file diff --git a/app/storage/views/.gitignore b/app/storage/views/.gitignore deleted file mode 100755 index c96a04f..0000000 --- a/app/storage/views/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore \ No newline at end of file diff --git a/app/tests/ExampleTest.php b/app/tests/ExampleTest.php deleted file mode 100644 index 62387de..0000000 --- a/app/tests/ExampleTest.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -class ExampleTest extends TestCase { - - /** - * A basic functional test example. - * - * @return void - */ - public function testBasicExample() - { - $crawler = $this->client->request('GET', '/'); - - $this->assertTrue($this->client->getResponse()->isOk()); - } - -} diff --git a/app/tests/TestCase.php b/app/tests/TestCase.php deleted file mode 100644 index d367fe5..0000000 --- a/app/tests/TestCase.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -class TestCase extends Illuminate\Foundation\Testing\TestCase { - - /** - * Creates the application. - * - * @return \Symfony\Component\HttpKernel\HttpKernelInterface - */ - public function createApplication() - { - $unitTesting = true; - - $testEnvironment = 'testing'; - - return require __DIR__.'/../../bootstrap/start.php'; - } - -} diff --git a/app/views/emails/auth/reminder.blade.php b/app/views/emails/auth/reminder.blade.php deleted file mode 100644 index aebea9e..0000000 --- a/app/views/emails/auth/reminder.blade.php +++ /dev/null @@ -1,14 +0,0 @@ -<!DOCTYPE html> -<html lang="en-US"> - <head> - <meta charset="utf-8"> - </head> - <body> - <h2>Password Reset</h2> - - <div> - To reset your password, complete this form: {{ URL::to('password/reset', array($token)) }}.<br/> - This link will expire in {{ Config::get('auth.reminder.expire', 60) }} minutes. - </div> - </body> -</html> diff --git a/app/views/hello.php b/app/views/hello.php deleted file mode 100644 index 6484242..0000000 --- a/app/views/hello.php +++ /dev/null @@ -1,42 +0,0 @@ -<!doctype html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Laravel PHP Framework</title> - <style> - @import url(//fonts.googleapis.com/css?family=Lato:700); - - body { - margin:0; - font-family:'Lato', sans-serif; - text-align:center; - color: #999; - } - - .welcome { - width: 300px; - height: 200px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -150px; - margin-top: -100px; - } - - a, a:visited { - text-decoration:none; - } - - h1 { - font-size: 32px; - margin: 16px 0 0 0; - } - </style> -</head> -<body> - <div class="welcome"> - <a href="http://laravel.com" title="Laravel PHP Framework"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIcAAACHCAYAAAA850oKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyNUVCMTdGOUJBNkExMUUyOTY3MkMyQjZGOTYyREVGMiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyNUVCMTdGQUJBNkExMUUyOTY3MkMyQjZGOTYyREVGMiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI1RUIxN0Y3QkE2QTExRTI5NjcyQzJCNkY5NjJERUYyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI1RUIxN0Y4QkE2QTExRTI5NjcyQzJCNkY5NjJERUYyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g6J7EAAAEL1JREFUeNrsXQmU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" alt="Laravel PHP Framework"></a> - <h1>You have arrived.</h1> - </div> -</body> -</html> diff --git a/artisan b/artisan deleted file mode 100644 index 5c408ad..0000000 --- a/artisan +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env php -<?php - -/* -|-------------------------------------------------------------------------- -| Register The Auto Loader -|-------------------------------------------------------------------------- -| -| Composer provides a convenient, automatically generated class loader -| for our application. We just need to utilize it! We'll require it -| into the script here so that we do not have to worry about the -| loading of any our classes "manually". Feels great to relax. -| -*/ - -require __DIR__.'/bootstrap/autoload.php'; - -/* -|-------------------------------------------------------------------------- -| Turn On The Lights -|-------------------------------------------------------------------------- -| -| We need to illuminate PHP development, so let's turn on the lights. -| This bootstraps the framework and gets it ready for and then it -| will load up this application so that we can run it and send -| the responses back to the browser and delight these users. -| -*/ - -$app = require_once __DIR__.'/bootstrap/start.php'; - -/* -|-------------------------------------------------------------------------- -| Load The Artisan Console Application -|-------------------------------------------------------------------------- -| -| We'll need to run the script to load and return the Artisan console -| application. We keep this in its own script so that we will load -| the console application independent of running commands which -| will allow us to fire commands from Routes when we want to. -| -*/ - -$app->setRequestForConsoleEnvironment(); - -$artisan = Illuminate\Console\Application::start($app); - -/* -|-------------------------------------------------------------------------- -| Run The Artisan Application -|-------------------------------------------------------------------------- -| -| When we run the console application, the current CLI command will be -| executed in this console and the response sent back to a terminal -| or another output device for the developers. Here goes nothing! -| -*/ - -$status = $artisan->run(); - -/* -|-------------------------------------------------------------------------- -| Shutdown The Application -|-------------------------------------------------------------------------- -| -| Once Artisan has finished running. We will fire off the shutdown events -| so that any final work may be done by the application before we shut -| down the process. This is the last thing to happen to the request. -| -*/ - -$app->shutdown(); - -exit($status); diff --git a/bootstrap/autoload.php b/bootstrap/autoload.php deleted file mode 100644 index 6b32931..0000000 --- a/bootstrap/autoload.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php - -define('LARAVEL_START', microtime(true)); - -/* -|-------------------------------------------------------------------------- -| Register The Composer Auto Loader -|-------------------------------------------------------------------------- -| -| Composer provides a convenient, automatically generated class loader -| for our application. We just need to utilize it! We'll require it -| into the script here so that we do not have to worry about the -| loading of any our classes "manually". Feels great to relax. -| -*/ - -require __DIR__.'/../vendor/autoload.php'; - -/* -|-------------------------------------------------------------------------- -| Include The Compiled Class File -|-------------------------------------------------------------------------- -| -| To dramatically increase your application's performance, you may use a -| compiled class file which contains all of the classes commonly used -| by a request. The Artisan "optimize" is used to create this file. -| -*/ - -if (file_exists($compiled = __DIR__.'/compiled.php')) -{ - require $compiled; -} - -/* -|-------------------------------------------------------------------------- -| Setup Patchwork UTF-8 Handling -|-------------------------------------------------------------------------- -| -| The Patchwork library provides solid handling of UTF-8 strings as well -| as provides replacements for all mb_* and iconv type functions that -| are not available by default in PHP. We'll setup this stuff here. -| -*/ - -Patchwork\Utf8\Bootup::initMbstring(); - -/* -|-------------------------------------------------------------------------- -| Register The Laravel Auto Loader -|-------------------------------------------------------------------------- -| -| We register an auto-loader "behind" the Composer loader that can load -| model classes on the fly, even if the autoload files have not been -| regenerated for the application. We'll add it to the stack here. -| -*/ - -Illuminate\Support\ClassLoader::register(); - -/* -|-------------------------------------------------------------------------- -| Register The Workbench Loaders -|-------------------------------------------------------------------------- -| -| The Laravel workbench provides a convenient place to develop packages -| when working locally. However we will need to load in the Composer -| auto-load files for the packages so that these can be used here. -| -*/ - -if (is_dir($workbench = __DIR__.'/../workbench')) -{ - Illuminate\Workbench\Starter::start($workbench); -} diff --git a/bootstrap/paths.php b/bootstrap/paths.php deleted file mode 100644 index 5a1f640..0000000 --- a/bootstrap/paths.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php - -return array( - - /* - |-------------------------------------------------------------------------- - | Application Path - |-------------------------------------------------------------------------- - | - | Here we just defined the path to the application directory. Most likely - | you will never need to change this value as the default setup should - | work perfectly fine for the vast majority of all our applications. - | - */ - - 'app' => __DIR__.'/../app', - - /* - |-------------------------------------------------------------------------- - | Public Path - |-------------------------------------------------------------------------- - | - | The public path contains the assets for your web application, such as - | your JavaScript and CSS files, and also contains the primary entry - | point for web requests into these applications from the outside. - | - */ - - 'public' => __DIR__.'/../public', - - /* - |-------------------------------------------------------------------------- - | Base Path - |-------------------------------------------------------------------------- - | - | The base path is the root of the Laravel installation. Most likely you - | will not need to change this value. But, if for some wild reason it - | is necessary you will do so here, just proceed with some caution. - | - */ - - 'base' => __DIR__.'/..', - - /* - |-------------------------------------------------------------------------- - | Storage Path - |-------------------------------------------------------------------------- - | - | The storage path is used by Laravel to store cached Blade views, logs - | and other pieces of information. You may modify the path here when - | you want to change the location of this directory for your apps. - | - */ - - 'storage' => __DIR__.'/../app/storage', - -); diff --git a/bootstrap/start.php b/bootstrap/start.php deleted file mode 100644 index e8ce2f0..0000000 --- a/bootstrap/start.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php - -/* -|-------------------------------------------------------------------------- -| Create The Application -|-------------------------------------------------------------------------- -| -| The first thing we will do is create a new Laravel application instance -| which serves as the "glue" for all the components of Laravel, and is -| the IoC container for the system binding all of the various parts. -| -*/ - -$app = new Illuminate\Foundation\Application; - -/* -|-------------------------------------------------------------------------- -| Detect The Application Environment -|-------------------------------------------------------------------------- -| -| Laravel takes a dead simple approach to your application environments -| so you can just specify a machine name for the host that matches a -| given environment, then we will automatically detect it for you. -| -*/ - -$env = $app->detectEnvironment(array( - - 'local' => array('MUKASWARE'), - -)); - -/* -|-------------------------------------------------------------------------- -| Bind Paths -|-------------------------------------------------------------------------- -| -| Here we are binding the paths configured in paths.php to the app. You -| should not be changing these here. If you need to change these you -| may do so within the paths.php file and they will be bound here. -| -*/ - -$app->bindInstallPaths(require __DIR__.'/paths.php'); - -/* -|-------------------------------------------------------------------------- -| Load The Application -|-------------------------------------------------------------------------- -| -| Here we will load this Illuminate application. We will keep this in a -| separate location so we can isolate the creation of an application -| from the actual running of the application with a given request. -| -*/ - -$framework = $app['path.base']. - '/vendor/laravel/framework/src'; - -require $framework.'/Illuminate/Foundation/start.php'; - -/* -|-------------------------------------------------------------------------- -| Return The Application -|-------------------------------------------------------------------------- -| -| This script returns the application instance. The instance is given to -| the calling script so we can separate the building of the instances -| from the actual running of the application and sending responses. -| -*/ - -return $app; diff --git a/classes/Action.php b/classes/Action.php new file mode 100755 index 0000000..d877a38 --- /dev/null +++ b/classes/Action.php @@ -0,0 +1,428 @@ +<?php + +/** + * Description of Action + * + * @author aurimas + */ +class Action extends HTMLObject { + + public static $url_token = ''; + public static $create_sql = ''; + public static $speaker_sql = 'SELECT * FROM `speakers` WHERE actions_id = ?'; + public static $registrations_sql = 'SELECT * FROM `registrations` WHERE actions_id = ?'; + public static $votes_sql = 'SELECT * FROM `votes` WHERE actions_id = ?'; + + /* variables to be saved */ + protected $dom; + protected $type = 'other'; + protected $end_time; + protected $start_time; + protected $title; + protected $number; + protected $questions_id; + + /* possibly empty variables */ + protected $total_participants = 0; + protected $outcome = ''; + protected $voting_topic = ''; + + + /* additional data - saved separately based on action type */ + protected $additional_data = array(); + + + public function __construct($url, Seimas $parent = NULL, $params = NULL, Factory $Factory = NULL) { + parent::__construct($url, $parent, $params, $Factory); + if (!$this->PDO) { + if ($params['dom'] instanceof DOMElement) { + $this->dom = $params['dom']; + } + else { + throw new Exception('No valid DOM Element provided to the Action Object'); + } + $this->number = $params['id']; + $this->url = ''; + $this->questions_id = $this->getParentInfo('getId'); + } + else { + $this->dom = $this->unserialise($this->dom); + } + } + + protected function saveData() { + $this->saveMainData(); + if (!empty($this->additional_data)) { + $this->saveAdditionalData(); + } + } + + public function saveMainData() { + $array = get_object_vars($this); + unset($array['PDO']); + unset($array['Factory']); + unset($array['parent']); + unset($array['items']); + unset($array['children']); + unset($array['additional_data']); + $array['dom'] = $this->serialise($this->dom); + $id = $this->Factory->SaveObject('actions', $array, array('id', 'questions_id')); + if ($id != 0) { + $this->id = $id; + } + else { + $this->id = $this->Factory->getVar('SELECT id FROM actions WHERE questions_id = ? and number = ?', array($this->questions_id, $this->number)); + if ($this->id == 0) echo 'blah!'; + } + } + + protected function saveAdditionalData() { + if (empty($this->id)) { + $this->show(); + return; + } + + + switch($this->type) { + + /* speaker saving */ + case 'speech': + if (isset($this->additional_data['speaker'])) { + $data = array('members_id' => $this->additional_data['speaker'], 'actions_id' => $this->getId()); + $this->Factory->saveObject('speakers', $data, array('actions_id')); + } + break; + + /* registration data saving */ + case 'registration': + $data = array(); + foreach ($this->additional_data['participation'] as $members_id => $presence) { + $data[] = array('actions_id' => $this->getId(), 'members_id' => $members_id, 'presence' => $presence); + } + if (!empty($data)) { + $this->Factory->saveObjects('registrations', $data, array('members_id', 'id', 'actions_id')); + } + break; + /* voting data saving */ + case 'voting': + $data = array(); + foreach ($this->additional_data['voting'] as $vote) { + $data[] = array( + 'actions_id' => $this->getId(), + 'members_id' => $vote['id'], + 'fraction' => $vote['fraction'], + 'vote' => $vote['vote']); + } + if (!empty($data)) { + $this->Factory->saveObjects('votes', $data, array('members_id', 'id', 'actions_id')); + } + break; + } + } + + protected function populateData() { + if ($this->PDO) { + $this->populateAdditionalData(); + if (!in_array($this->type, array('voting', 'registration'))) { + //everything should be here, only load and save additional data + return true; + } + elseif (empty($this->additional_data)) { + echo 'here!'; + //no data present for registrations and voting - initial DB run + return false; + } + else { + //all data loaded - we are good to go + return true; + } + } + else { + //not loaded via DB - need to parse additional data + return false; + } + } + + protected function populateAdditionalData() { + + switch($this->type) { + + /* populate speaker data */ + case 'speech': + $speakers = $this->Factory->getArray(self::$speaker_sql, array($this->getId())); + if (is_array($speakers)) { + foreach ($speakers as $speaker) { + $this->additional_data['speaker'] = $speaker['members_id']; + } + } + break; + + /* populate registration data */ + case 'registration': + $registrations = $this->Factory->getArray(self::$registrations_sql, array($this->getId())); + if (is_array($registrations)) { + $this->additional_data['participation'] = array(); + foreach ($registrations as $registered) { + $this->additional_data['participation'][$registered['members_id']] = $registered['presence']; + } + } + break; + + /* populate voting data */ + case 'voting': + $votes = $this->Factory->getArray(self::$votes_sql, array($this->getId())); + if (is_array($votes)) { + $this->additional_data['votes'] = array(); + foreach ($votes as $vote) { + $array = array('id' => $vote['members_id'], 'fraction' => $vote['fraction'], 'vote' => $vote['vote']); + $this->additional_data['votes'][$array['id']] = $array; + } + } + break; + } + } + + public function initialiseChildren($recursive = false) { + return; + } + + protected function scrapeData($reload = FALSE) { + + /* parse additional urls */ + if (!empty($this->url)) { + $function = "get" . ucfirst($this->type) . 'Data'; + $this->$function(); + } + } + + public function parseData() { + $tds = $this->dom->getElementsByTagName('td'); + if ($tds->length != 2) { + log_f('parsing error: Action table td count', $this->getId()); + } + else { + /* Set start time */ + $this->start_time = $this->clean($tds->item(0)->nodeValue); + + /* set end time */ + try { + $this->end_time = $this->getSiblingInfoByPosition($this->number, +1, 'getStartTime'); + } + catch(Exception $e) { + $this->end_time = $this->start_time; + } + + /* determine action type & additional data */ + + $this->title = $this->decode($tds->item(1)->nodeValue); + + if (stripos($this->title, 'Kalbėjo') !== false) { //action type - speech + $this->type = 'speech'; + $this->additional_data['speaker'] = $this->getMemberId($tds->item(1)); + } + + elseif (stripos($this->title, 'bendru sutarimu') !== false) { //action type - voting (together) + $this->type = 'u_voting'; + if (stripos($this->title, 'pritarta') !== false) { + $this->outcome = 'accepted'; + } + else { + $this->outcome = 'rejected'; + } + } + + elseif (stripos($this->title, 'Įvyko registracija') !== false) { //action type - registration + $this->type = 'registration'; + $matches = array(); + preg_match('/užsiregistravo.\s*(\d+)/u', $this->title, $matches); + if (isset($matches[1])) { + $this->total_participants = $matches[1]; + } + + $reg_link = $tds->item(1)->getElementsByTagName('a')->item(0); + if (!is_object($reg_link)) { + log_f('parsing error: question - registration link', $this->getId()); + } + else { + $link = self::BASE_URL . $reg_link->getAttribute('href'); + $this->url = $link; + } + } + elseif (stripos($this->title, 'Įvyko balsavimas') !== false) { //action type voting + $this->type = 'voting'; + + /* general outcome of voting */ + if (stripos($this->title, 'pritarta') !== false) { + $this->outcome = 'accepted'; + } + else { + $this->outcome = 'rejected'; + } + + /* individual outcome of voting */ + $voting_link = $tds->item(1)->getElementsByTagName('a')->item(0); + if (!is_object($voting_link)) { + log_f('parsing error: question - voting link', $this->getId()); + } + else { + $link = self::BASE_URL . $voting_link->getAttribute('href'); + $this->url = $link; + } + } + } + } + + protected function getRegistrationData() { + $reg_dom = $this->getHTMLDOM($this->url); + $xpath = new DOMXPath($reg_dom); + $members = $xpath->query("//table[contains(@cellpadding, '1')]//table[contains(@width, '100%')]/tr"); + $this->additional_data['participation'] = array(); + foreach ($members as $member_data) { + + $tds = $member_data->getElementsByTagName('td'); + if ($tds->length != 2) { + log_f('parsing error: action lankomumo lentele - participation . ', $this->getId()); + } + else { + $member_id = $this->getMemberId($tds->item(1)); + if ($this->clean($tds->item(0)->nodeValue) == '') $participation = 0; + else $participation = 1; + $this->additional_data['participation'][$member_id] = $participation; + } + } + unset($reg_dom); + } + + protected function getVotingData() { + $voting_dom = $this->getHTMLDOM($this->url); + + //get voting topic + $inner_html = $this->decode(DOMinnerHTML($voting_dom->getElementsByTagName('body')->item(0))); + preg_match("/Formuluot.+?\s+<b>(.*?)<\/b>/msu", $inner_html, $matches); + if (isset($matches[1])) { + $this->voting_topic = $matches[1]; + } + + //get voting data + $this->additional_data['voting'] = array(); + $xpath = new DOMXPath($voting_dom); + $voting_dom = $xpath->query("//table[contains(@class, 'basic')]/tr[td]"); + foreach ($voting_dom as $member_data) { + $member = array(); + $td2 = ''; + $td3 = ''; + $td4 = ''; + $tds = $member_data->getElementsByTagName('td'); + if ($tds->length != 5) { + log_f('parsing error: voting data', $this->getId()); + } + else { + $member['id'] = $this->getMemberId($tds->item(0)); + $member['fraction'] = $this->clean($tds->item(1)->nodeValue); + $member['vote'] = ''; + $td2 = $this->clean($tds->item(2)->nodeValue); + $td3 = $this->clean($tds->item(3)->nodeValue); + $td4 = $this->clean($tds->item(4)->nodeValue); + if (!empty($td2)) { + $member['vote'] = 'accept'; + } + elseif (!empty($td3)) { + $member['vote'] = 'reject'; + } + elseif (!empty($td4)) { + $member['vote'] = 'abstain'; + } + else { + $member['vote'] = 'not present'; + } + $this->additional_data['voting'][$member['id']] = $member; + } + } + unset($xpath); + } + + public function getEndTime() { + if (empty($this->end_time)){ + $this->parseData(); + } + if ($this->end_time == $this->start_time) { + $this->end_time = date('H:i:s', strtotime($this->end_time) + 60); + /* + It is possible to obtain the end time from next question, but there's an issue of breaks (not seen in statistics). + Thus, for now we just assume that the last action took 60 seconds. + try { + $end = $this->parent->getSiblingInfoByPosition($this->parent->getId(), 1, 'getStartTime'); + $end_date = substr($end, 0, 10); + if (strtotime($end) > strtotime($end_date . ' ' . $this->end_time)) $this->end_time = date('H:i:s', strtotime($end)); + else $this->end_time = date('H:i:s', strtotime($this->end_time) + 60); + } + catch(Exception $e) { $this->end_time = date('H:i:s', strtotime($this->end_time) + 60); } + */ + } + return $this->end_time; + } + + public function getStartTime() { + if (empty($this->start_time)){ + $this->parseData(); + } + return $this->start_time; + } + + public function getType() { + return $this->type; + } + + public function getNumber() { + return $this->number; + } + + public function getTitle() { + return $this->title; + } + + public function getParticipation() { + if (isset($this->additional_data['participation'])) { + return $this->additional_data['participation']; + } + else { + return false; + } + } + + public function getVoting($type = 'present') { + switch($type) { + case 'accepted': return $this->Factory->getVar('SELECT count(id) FROM votes WHERE actions_id = ? AND vote = ?', array($this->getId(), 'accept')); + case 'rejected': return $this->Factory->getVar('SELECT count(id) FROM votes WHERE actions_id = ? AND vote = ?', array($this->getId(), 'reject')); + case 'abstain': return $this->Factory->getVar('SELECT count(id) FROM votes WHERE actions_id = ? AND vote = ?', array($this->getId(), 'abstain')); + case 'not present': return $this->Factory->getVar('SELECT count(id) FROM votes WHERE actions_id = ? AND vote = ?', array($this->getId(), 'not presen')); + case 'present': return $this->Factory->getVar('SELECT count(id) FROM votes WHERE actions_id = ? AND vote != ?', array($this->getId(), 'not presen')); + } + } + + public function getVotingTopic() { + return $this->voting_topic; + } + + public function getVotingOutcome() { + return $this->outcome; + } + + protected function serialise(DOMElement $dom) { + $newDom = new DOMDocument('1.0', 'UTF-8'); + $root = $newDom->createElement('root'); + $root = $newDom->appendChild($root); + $domNode = $newDom->importNode($dom, true); + $root->appendChild($domNode); + return $newDom->saveXML($root); + } + + protected function unserialise($dom) { + $newDom = new DOMDocument('1.0', 'UTF-8'); + $newDom->loadXML($dom); + return $newDom->getElementsByTagName('tr')->item(0); + } + +} + +?> diff --git a/classes/DB.php b/classes/DB.php new file mode 100755 index 0000000..ea14e85 --- /dev/null +++ b/classes/DB.php @@ -0,0 +1,139 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + + +class DB extends PDO { + + private $queries; + + public function __construct($dsn, $username, $passwd, $options) { + parent::__construct($dsn, $username, $passwd, $options); + } + + public function createObject($sql_to_prepare, $exec_params, $class_name, $construct_params = array()) { + $start_time = microtime(true); + $q = parent::prepare($sql_to_prepare); + $q->setFetchMode(PDO::FETCH_CLASS, $class_name, $construct_params); + $q->execute($exec_params) or $this->throwError($q); + $this->logQuery(func_get_args(), $start_time, microtime(true)); + return $q->fetch(PDO::FETCH_CLASS); + } + + public function createObjects($sql_to_prepare, $exec_params, $class_name, $construct_params = array()) { + $start_time = microtime(true); + $q = parent::prepare($sql_to_prepare); + $q->setFetchMode(PDO::FETCH_CLASS, $class_name, $construct_params); + $q->execute($exec_params) or $this->throwError($q); + $array = array(); + while ($object = $q->fetch(PDO::FETCH_CLASS)) { + $array[$object->getId()] = clone $object; + } + $this->logQuery(func_get_args(), $start_time, microtime(true)); + return $array; + } + + + public function getArray($sql_to_prepare, $exec_params) { + $start_time = microtime(true); + $q = parent::prepare($sql_to_prepare); + $q->execute($exec_params) or $this->throwError($q); + $this->logQuery(func_get_args(), $start_time, microtime(true)); + return $q->fetchAll(PDO::FETCH_ASSOC); + } + + public function getVar($sql_to_prepare, $exec_params) { + $start_time = microtime(true); + $q = parent::prepare($sql_to_prepare); + $q->execute($exec_params) or $this->throwError($q); + //$q->debugDumpParams(); + $this->logQuery(func_get_args(), $start_time, microtime(true)); + $a = $q->fetch(); + return $a[0]; + } + + protected function prepareInsert($table, $keys, $excluded_keys) { + $update_fields = ''; + if (false !== $excluded_keys) { + list($keys, $placeholders, $update_fields) = $this->getPlaceholders($keys, $excluded_keys); + } + else { + list($keys, $placeholders) = $this->getPlaceholders($keys, $excluded_keys); + } + if (empty($update_fields)) $on_duplicate = ''; + else $on_duplicate = 'ON DUPLICATE KEY UPDATE ' . $update_fields; + $sql = "INSERT INTO `$table` $keys VALUES $placeholders $on_duplicate"; + //print_f($sql); + $q = parent::prepare($sql); + return $q; + } + + public function insertOne($table, $data, $excluded_keys = false) { + $start_time = microtime(true); + $q = $this->prepareInsert($table, array_keys($data), $excluded_keys); + foreach ($data as $key => $value) { + $q->bindValue(':' . $key, $value); + } + $q->execute() or $this->throwError($q); + $this->logQuery(func_get_args(), $start_time, microtime(true)); + return $this->lastInsertId(); + } + + public function insertMany($table, $data, $excluded_keys = false) { + + if (!isset($data[0])) throw new Exception('empty data set provided!'); + + $start_time = microtime(true); + $q = $this->prepareInsert($table, array_keys($data[0]), $excluded_keys); + foreach ($data as $row) { + foreach ($row as $key => $value) { + $q->bindValue(':' . $key, $value); + } + $q->execute() or $this->throwError($q); + } + $this->logQuery(func_get_args(), $start_time, microtime(true)); + } + + protected function throwError($handler) { + $error = $handler->errorInfo(); + throw new Exception($error[2]); + return true; + } + + protected function getPlaceholders($keys, $excluded_keys) { + $key_brackets = '(`' . implode('`, `', $keys) . '`)'; + $pl_brackets = '(:' . implode(', :', $keys) . ')'; + if (false === $excluded_keys) { + return array($key_brackets, $pl_brackets); + } + else { + $update_fields = array(); + foreach ($keys as $key) { + if (!in_array($key, $excluded_keys)) { + $update_fields[] = "`$key` = VALUES(`$key`)"; + } + } + $update_fields = implode(', ', $update_fields); + return array($key_brackets, $pl_brackets, $update_fields); + } + } + + protected function logQuery($args, $start_time, $end_time) { + $this->queries[] = array('length' => round(($end_time - $start_time) * 1000, 3) ,'args' => $args[0]); + } + + public function showQueries() { + print_f($this->queries); + } + + public function exec($sql) { + $a = parent::exec($sql); + if (false === $a) { + print_f($this->errorInfo()); + } + } +} +?> diff --git a/classes/Factory.php b/classes/Factory.php new file mode 100755 index 0000000..c100307 --- /dev/null +++ b/classes/Factory.php @@ -0,0 +1,123 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +class Factory { + + static private $instance; + static private $default_allowed_types = array('session' => 'Session', 'sitting' => 'Sitting', 'question' => 'Question', 'action' => 'Action'); + private $allowed_types; + protected $DB = NULL; + + private function __construct($sql_params, $allowed_types) { + + /* populate known Object Types */ + $this->allowed_types = $allowed_types; + + /* initiate DB connection */ + try { + list($dsn, $username, $password, $driver_options) = $sql_params; + $this->DB = new DB($dsn, $username, $password, $driver_options); + } + catch (PDOException $e) { + $this->DB = false; + trigger_error('Connection to DB failed with ' . $e->getMessage(), E_USER_WARNING); + } + } + + static public function getInstance($sql_params, $allowed_types = array()) { + if (empty($allowed_types)) $allowed_types = self::$default_allowed_types; + if (empty(self::$instance)) { + self::$instance = new Factory($sql_params, $allowed_types); + } + return self::$instance; + } + + public function getObject($type, $url = NULL, $id = NULL, Seimas $parent = NULL, $parameters = array()) { + if (isset($this->allowed_types[$type])) { + $class_name = $this->allowed_types[$type]; + + /* if url provided - initiate object without DB */ + if (false !== filter_var($url, FILTER_VALIDATE_URL)) { + return new $class_name($url, $parent, $parameters, $this); + } + elseif (!empty($id)) { + $class = new ReflectionClass($class_name); + $sql = $class->getStaticPropertyValue('create_sql'); + $Object = $this->DB->createObject($sql, array($id), $class_name, array('', $parent, $parameters, $this)); + if ($Object instanceof Seimas) return $Object; + else throw new Exception ('Object with the id provided was not found!'); + } + else { + throw new Exception('No object identifier (url / id) provided'); + } + } + else { + throw new Exception('unknown object type to be initiated'); + } + } + + public function getObjectChildren($class, $child_type, $id, $parent, $parameters = array()) { + //get urls and IDs of all children + $class_name = $this->allowed_types[$child_type]; + try { + $class = new ReflectionClass($class); + $sql = $class->getStaticPropertyValue('children_sql'); + $array = $this->DB->CreateObjects($sql, array($id), $class_name, array('', $parent, $parameters, $this)); + return $array; + } + catch (Exception $e) { + echo $e->getMessage(); + } + } + + public function saveObject($table, $data, $excluded_keys = false) { + + /* try saving 1 object */ + try { + return $this->DB->insertOne($table, $data, $excluded_keys); + } + catch (Exception $e) { + echo $e->getMessage() . '<br>'; + } + } + + public function saveObjects($table, $data, $excluded_keys = false) { + /* try saving many objects */ + try { + $this->DB->insertMany($table, $data, $excluded_keys); + } + catch (Exception $e) { + echo $e->getMessage(); + } + } + + public function getArray($sql, $exec_params) { + try { + return $this->DB->getArray($sql, $exec_params); + } + catch (Exception $e) { + echo $e->getMessage(); + echo $sql; + } + } + + public function getVar($sql, $exec_params) { + try { + return $this->DB->getVar($sql, $exec_params); + } + catch (Exception $e) { + echo $e->getMessage(); + } + } + + public function showQueries() { + $this->DB->showQueries(); + } + +} + +?> \ No newline at end of file diff --git a/classes/Klausimas_.php b/classes/Klausimas_.php new file mode 100755 index 0000000..9739ce0 --- /dev/null +++ b/classes/Klausimas_.php @@ -0,0 +1,390 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +class Question extends HTMLObject { + + public static $url_token = 'p_svarst_kl_stad_id=-'; + public static $create_sql = 'SELECT *, 1 as PDO FROM questions WHERE id = ? ORDER by id ASC'; + public static $child_class = 'action'; + public static $children_sql = 'SELECT *, 1 as PDO FROM actions WHERE questions_id = ? ORDER BY id ASC'; + public static $items_sql = 'SELECT * FROM `items` WHERE questions_id = ? ORDER BY number ASC'; + public static $presenters_sql = 'SELECT * FROM `presenters` WHERE items_id = ? ORDER BY number ASC'; + + /* helper variable - not to be saved */ + protected $date; + + protected $start_time; + protected $end_time; + protected $title; + protected $number; + protected $sittings_id; + + /* special data to be saved separately */ + protected $items = array(); + + /* temp for debugging */ + public function __toString() { + $array = parent::__toString(); + unset($array['actions']); + return $array; + } + + public function __construct($url, Seimas $parent = NULL, $params = NULL, Factory $Factory = NULL) { + parent::__construct($url, $parent, $params, $Factory); + if (!$this->PDO) { //if object created not via DB + $this->start_time = $params['start_time']; + $this->title = $this->decode($this->clean($params['title'])); + $this->number = $params['number']; + $this->sittings_id = $this->getParentInfo('getId'); + } + $this->date = date('Y-m-d', strtotime($this->start_time)); + } + + protected function populateData() { + if ($this->PDO) { + //loaded via DB + if (empty($this->end_time)) { + //initial run - let's scrape additional data + return false; + } + else { + //all data loaded, only populate children / etc + $this->PopulateChildren(); + $this->PopulateItems(); + return true; + } + } + else { + //not loaded via DB - scrape all data + return false; + } + } + + protected function populateItems() { + $items = $this->Factory->getArray(self::$items_sql, array($this->getId())); + foreach ($items as $item) { + $presenters = $this->Factory->getArray(self::$presenters_sql, array($item['id'])); + if (false != $presenters) { + $item['presenters'] = $presenters; + } + else { + $item['presenters'] = array(); + } + $this->items[$item['number']] = $item; + } + } + + protected function saveData() { + $array = get_object_vars($this); + unset($array['PDO']); + unset($array['Factory']); + unset($array['parent']); + unset($array['items']); + unset($array['children']); + unset($array['date']); + + $this->Factory->SaveObject('questions', $array, array('id')); + $this->saveItems(); + $this->saveChildren(); + } + + protected function saveItems() { + foreach ($this->items as $number => $item) { + $presenters = $item['presenters']; + unset($item['presenters']); + $item['questions_id'] = $this->getId(); + $item['number'] = $number; + $item_id = 0; + $item_id = $this->Factory->saveObject('items', $item, array('id', 'questions_id')); + if (0 == $item_id) { + if (isset($item['id'])) { //some random anomaly of some items being here twice... + $item_id = $item['id']; // if DB returns 0, the item was in DB before, thus ID attrib. should be present in array + } + } + /* save presenters data */ + if (0 != $item_id ) { + foreach ($presenters as $number => $presenter) { + $this->Factory->saveObject('presenters', array('presenter' => $presenter, 'items_id' => $item_id, 'number' => $number), array('id', 'items_id')); + } + } + } + } + + protected function saveChildren() { + + } + + protected function scrapeData() { + $dom = $this->getHTMLDOM($this->url); + $this->getItems($dom); + echo 'here!'; + $this->getActions($dom); + } + + protected function getItems(DOMDocument $dom) { + $xpath = new DOMXPath($dom); + $questions_dom = $xpath->query("//li[preceding::h4 and following::h4]"); + if ($questions_dom->length > 0) { //if more than one inner question + $i = 0; + foreach ($questions_dom as $question_dom) { + //get data for each inner question + $this->items[$i++] = $this->getItemMetaData($question_dom); + } + } + else { + $questions_dom = $xpath->query("//node()[preceding::h4 and following::h4]"); + if ($questions_dom->length > 0) { //if one question only, need to create a new DOMElement (shame on you, XPATH!) + $newDom = new DOMDocument('1.0', 'UTF-8'); + $root = $newDom->createElement('root'); + $root = $newDom->appendChild($root); + $prev = ''; + foreach ($questions_dom as $question_dom) { + if ($question_dom->nodeValue != $prev) { + $domNode = $newDom->importNode($question_dom, true); + $root->appendChild($domNode); + } + $prev = $question_dom->nodeValue; + } + $this->items[0] = $this->getItemMetaData($root); + } + else + log_f('klausimo lentele: metadata not found', $this->getId()); + } + unset($xpath); + } + + protected function getItemMetaData(DOMElement $dom) { + + $data = array(); + + //find document links + $links = $dom->getElementsByTagName('a'); + foreach ($links as $link) { + $db_field = $this->getLinkType($this->decode(str_replace(array(chr(160), chr(194)), ' ', $link->nodeValue))); + $data[$db_field] = $link->getAttribute('href'); + } + + //find title of question + $title = $dom->getElementsByTagName('b')->item(0); + if (is_object($title)) + $data['title'] = $this->decode($title->nodeValue); + + //find speakers + $decoded = $this->decode(DOMinnerHTML($dom)); + $data['presenters'] = array(); + $pos = stripos($decoded, 'Pranešėja'); + if ($pos !== false) { + preg_match_all('/<b>(.*?)<\/b>/u', substr($decoded, $pos + 9), $matches, PREG_SET_ORDER); + foreach ($matches as $match) { + if (isset($match[1])) + $data['presenters'][] = $match[1]; + } + } + return $data; + } + + protected function getLinkType($lithuanian_string) { + switch($lithuanian_string) { + case 'dokumento tekstas': return 'document_url'; + case 'susiję dokumentai': return 'related_doc_url'; + default: return 'other_url'; + } + } + + protected function getActions($dom) { + + $xpath = new DOMXPath($dom); + $actions_dom = $xpath->query("//table[contains(@class, 'basic')]/tr[td]"); + $i = 0; + foreach ($actions_dom as $action_dom) { + /* Action parsing */ + $tds = $action_dom->getElementsByTagName('td'); + if ($tds->length != 2) + log_f('parsing error: Action table td count', $this->getId()); + else { + $this->children[$i]['start_time'] = $this->clean($tds->item(0)->nodeValue); + list($type, $meta) = $this->parseAction($tds->item(1)); + $this->children[$i]['type'] = $type; + $this->children[$i]['meta'] = $meta; + if ($i !== 0) { + $this->children[$i - 1]['end_time'] = $this->children[$i]['start_time']; + } + else { + $this->start_time = $this->date . ' ' . $this->children[$i]['start_time']; + } + $i++; + } + /* Action parsing end */ + } + if ($i > 0) { + /* If at least 1 action - set last action start time = end time & question end_time = action end time */ + $this->children[$i - 1]['end_time'] = $this->children[$i - 1]['start_time']; + $this->end_time = $this->date . ' ' . $this->children[$i - 1]['end_time']; + } + else { + /* if no actions - set end time as the start time of the next question */ + $this->end_time = $this->getSiblingInfoByPosition($this->getId(), +1, 'getStartTime'); + } + unset($xpath); + } + + protected function parseAction(DOMElement $element) { + $meta = array(); + $type = 'other'; + //action type - speech + if (strpos($element->nodeValue, 'Kalbėjo') !== false) { + $type = 'speech'; + $meta['speaker'] = $this->getMemberId($element); + } + //action type - voting (together) + elseif (strpos($element->nodeValue, 'bendru sutarimu') !== false) { + $type = 'u_voting'; + $meta['text'] = $this->decode($element->nodeValue); + if (strpos($element->nodeValue, 'pritarta') !== false) { + $meta['outcome'] = 'accepted'; + } + else { + $meta['outcome'] = 'rejected'; + } + } + //action type - registration + elseif (stripos($element->nodeValue, 'Įvyko registracija') !== false) { + $type = 'registration'; + $matches = array(); + $total_participants = preg_match('/užsiregistravo.*?(\d+)/u', $element->nodeValue, $matches); + if (isset($matches[1])) + $meta['total_participants'] = $matches[1]; + + $reg_link = $element->getElementsByTagName('a')->item(0); + if (!is_object($reg_link)) + log_f('parsing error: question - registration link', $this->getId()); + else { + $link = self::BASE_URL . $reg_link->getAttribute('href'); + $meta['link'] = $link; + $query = parse_url($link, PHP_URL_QUERY); + $variables = array(); + parse_str($query, $variables); + if (isset($variables['p_reg_id'])) + $meta['id'] = -$variables['p_reg_id']; + $meta['participation'] = $this->getRegistrationData($link); + } + } + //action type voting + elseif (stripos($element->nodeValue, 'Įvyko balsavimas') !== false) { + $type = 'voting'; + /* general outcome of voting */ + if (strpos($element->nodeValue, 'pritarta') !== false) { + $meta['outcome'] = 'accepted'; + } + else { + $meta['outcome'] = 'rejected'; + } + /* individual outcome of voting */ + $voting_link = $element->getElementsByTagName('a')->item(0); + if (!is_object($voting_link)) + log_f('parsing error: question - voting link', $this->getId()); + else { + $link = self::BASE_URL . $voting_link->getAttribute('href'); + $meta['link'] = $link; + $query = parse_url($link, PHP_URL_QUERY); + $variables = array(); + parse_str($query, $variables); + if (isset($variables['p_bals_id'])) + $meta['id'] = -$variables['p_bals_id']; + list($meta['voting_topic'], $meta['individual_voting']) = $this->getVotingData($link); + } + } + else { + $meta['text'] = $element->nodeValue; + } + + return array($type, $meta); + } + + protected function getRegistrationData($url) { + $lankomumas_dom = $this->getHTMLDOM($url); + $xpath = new DOMXPath($lankomumas_dom); + $nariai = array(); + $nariai_dom = $xpath->query("//table[contains(@cellpadding, '1')]//table[contains(@width, '100%')]/tr"); + //echo $nariai_dom->length; + foreach ($nariai_dom as $nario_data) { + + $tds = $nario_data->getElementsByTagName('td'); + $participation = false; + $person_id = false; + + $state = $tds->item(0); + if (is_object($state)) { + $value = $this->clean($state->nodeValue); + if (empty($value)) + $participation = 0; + else + $participation = 1; + } + else + log_f('parsing error: action lankomumo lentele - participation . ', $this->getId()); + + $person_id = $this->getMemberId($tds->item(1)); + + if (($participation !== false) && ($person_id !== false)) { + $nariai[$person_id] = $participation; + } + } + unset($lankomumas_dom); + return $nariai; + } + + protected function getVotingData($url) { + $lankomumas_dom = $this->getHTMLDOM($url); + $nariai = array(); + $formuluote = ''; + + //get formuluote + $inner_html = $this->decode(DOMinnerHTML($lankomumas_dom->getElementsByTagName('body')->item(0))); + preg_match("/Formuluot.+?\s+<b>(.*?)<\/b>/msu", $inner_html , $matches); + if (isset($matches[1])) $formuluote = $matches[1]; + + //get voting data + $xpath = new DOMXPath($lankomumas_dom); + $voting_dom = $xpath->query("//table[contains(@class, 'basic')]/tr[td]"); + foreach ($voting_dom as $member) { + $narys = array(); + $td2 = ''; + $td3 = ''; + $td4 = ''; + $tds = $member->getElementsByTagName('td'); + if ($tds->length != 5) log_f('parsing error: voting data', $this->getId ()); + else { + $narys['id'] = $this->getMemberId($tds->item(0)); + $narys['frakcija'] = $this->clean($tds->item(1)->nodeValue); + $td2 = $this->clean($tds->item(2)->nodeValue); + $td3 = $this->clean($tds->item(3)->nodeValue); + $td4 = $this->clean($tds->item(4)->nodeValue); + if (!empty($td2)) $narys['vote'] = 'accept'; + elseif (!empty($td3)) $narys['vote'] = 'reject'; + elseif (!empty($td4)) $narys['vote'] = 'abstain'; + else $narys['vote'] = 'missing'; + $nariai[$narys['id']] = $narys; + } + } + unset($xpath); + return array($formuluote, $nariai); + } + + public function getStartTime() { + return $this->start_time; + } + + public function getEndTime() { + if (empty($this->end_time)) { + $this->initialise(); + } + return $this->end_time; + } +} + +?> diff --git a/classes/Posedis.php b/classes/Posedis.php new file mode 100755 index 0000000..77f65eb --- /dev/null +++ b/classes/Posedis.php @@ -0,0 +1,208 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +/** + * Description of Posedis + * + * @author aurimas + */ +class Sitting extends HTMLObject { + + static public $create_sql = 'SELECT *, 1 as PDO FROM `sittings` WHERE id = ? ORDER BY id ASC'; + static public $children_sql = 'SELECT *, 1 as PDO FROM `questions` WHERE sittings_id = ? ORDER by id ASC'; + static public $participation_sql = 'SELECT `members_id`, `presence` FROM sitting_participation WHERE sittings_id = ? ORDER by id ASC'; + static public $child_class = 'question'; + static public $url_token = 'p_fakt_pos_id=-'; + + /* temporary */ + protected $date; + + /* to be saved to DB */ + protected $number; + protected $type; + protected $transcript_url = ''; + protected $recording_url = ''; + protected $protocol_url = ''; + protected $participation_url = ''; + protected $sessions_id; + + /* special data - to be saved separately */ + protected $participation = array(); + + protected function populateData() { + if ($this->PDO) { + //loaded via DB + if (empty($this->number) || ($this->end_time == '0000-00-00 00:00:00')) { + //initial run - let's scrape additional data + return false; + } + else { + //all data from DB present - let's only add children, participation & date + $this->populateChildren(); + $this->populateParticipation(); + $this->date = date('Y-m-d', strtotime($this->end_time)); + return true; + } + } + else { + $this->sessions_id = $this->getParentInfo('getId'); + return false; //not loaded via DB - scrape everything + } + } + + protected function populateParticipation() { + $participation = $this->Factory->getArray(self::$participation_sql, array($this->getId())); + foreach ($participation as $pair) { + $this->participation[$pair['members_id']] = $pair['presence']; + } + } + + protected function saveData() { + //added check if the data is correct (e.g. end-time = 0000-00-00 00:00:00 + if ($this->end_time == '0000-00-00 00:00:00') { + $this->clearCache($this->transcript_url); + $this->clearCache($this->recording_url); + $this->clearCache($this->protocol_url); + $this->clearCache($this->participation_url); + $this->clearCache($this->url); + return; + } + else { + $array = get_object_vars($this); + unset($array['PDO']); + unset($array['Factory']); + unset($array['parent']); + unset($array['date']); + + /* parse children data */ + $children_array = array(); + foreach ($array['children'] as $child) { + $children_array[] = array('id' => $child->getId(), 'url' => $child->getUrl(), 'sittings_id' => $this->getId()); + } + unset($array['children']); + + /* parse parcitipation data */ + $participation_array = array(); + foreach ($array['participation'] as $member_id => $presence) { + $participation_array[] = array('members_id' => $member_id, 'presence' => $presence, 'sittings_id' => $this->getId()); + } + unset($array['participation']); + $this->Factory->SaveObject('sittings', $array, array('id')); + $this->Factory->SaveObjects('questions', $children_array, array('sittings_id', 'id')); + + $this->Factory->SaveObjects('sitting_participation', $participation_array, array()); + } + } + + protected function scrapeData($reload = FALSE) { + $dom = $this->getHTMLDOM($this->url, $reload); + $this->getMetaData($dom); + $this->extractParticipation($dom); + $this->extractQuestions($dom); + } + + protected function getMetaData($dom) { + + /* title parsing */ + $title = $dom->getElementsByTagName('title')->item(0)->nodeValue; + $matches = array(); + preg_match("/Seimo posėdis\s+Nr\.(\d+)\s+\((\d{4}-\d{2}-\d{2}), (.+)\)/u", $title, $matches); + if (count($matches) < 4) { + throw new Exception('Something wrong with Sitting parsing @' . $this->url); + } + $this->number = trim($matches[1]); + $this->date = trim($matches[2]); + $this->type = trim($matches[3]); + + /* finding links to content */ + $xpath = new DOMXPath($dom); + $a_dom = $xpath->query("//a[.='Protokolas']")->item(0); + if (is_object($a_dom)) $this->protocol_url = $a_dom->getAttribute('href'); + $a_dom = $xpath->query("//a[.='Stenograma']")->item(0); + if (is_object($a_dom)) $this->transcript_url = $a_dom->getAttribute('href'); + $a_dom = $xpath->query("//a[.='Garso įrašas']")->item(0); + if (is_object($a_dom)) $this->recording_url = $a_dom->getAttribute('href'); + unset($xpath); + + } + + protected function extractParticipation($dom) { + $xpath = new DOMXPath($dom); + $a_dom = $xpath->query("//a[.='Lankomumas']")->item(0); + if (is_object($a_dom)) $this->participation_url = self::BASE_URL . $a_dom->getAttribute('href'); + unset($xpath); + if (!empty($this->participation_url)) { + $lankomumas_dom = $this->getHTMLDOM($this->participation_url); + $xpath = new DOMXPath($lankomumas_dom); + $nariai_dom = $xpath->query("//table[contains(@cellpadding, '1')]//table[contains(@width, '100%')]/tr"); + foreach ($nariai_dom as $nario_data) { + + $tds = $nario_data->getElementsByTagName('td'); + $participation = false; + $person_id = false; + + $state = $tds->item(0); + if (is_object($state)) { + $value = $this->clean($state->nodeValue); + if (empty($value)) $participation = 0; + else $participation = 1; + } + else log_f('parsing error: lankomumo lentele - participation . ', $this->getId ()); + $person_id = $this->getMemberId($tds->item(1)); + + if (($participation !== false) && ($person_id !== false)) { + $this->participation[$person_id] = $participation; + } + } + unset($lankomumas_dom); + } + } + + protected function extractQuestions($dom) { + $xpath = new DOMXPath($dom); + $table_dom = $xpath->query("//table[contains(@class,'basic')]/tr[td]"); + $i = 0; + $klausimas = false; + foreach ($table_dom as $row) { + $data = array(); + $url = ''; + $klausimas = false; + $tds = $row->getElementsbyTagName('td'); + if ($tds->length < 3) log_f('parsing error: darbotvarkes lentele', $this->getId()); + else { + $data['start_time'] = $this->getDate() . ' ' . $this->clean($tds->item(0)->nodeValue); + //$data['number'] = $this->clean($tds->item(1)->nodeValue); replaced with actual number in the list + $data['number'] = $i; + $data['title'] = $this->clean($tds->item(2)->nodeValue); + $link_dom = $tds->item(2)->getElementsByTagName('a'); + if (is_object($link_dom->item(0))) { + $url = self::BASE_URL . $link_dom->item(0)->getAttribute('href'); + } + else log_f('parsing error: darbotvarkes lentele - klausimas a', $this->getId()); + + if (!empty($url)) { + $klausimas = $this->Factory->getObject(self::$child_class, $url, '', $this, $data); + $this->children[$klausimas->getId()] = $klausimas; + if ($i++ == 0) $this->start_time = $this->date . ' ' .$klausimas->getStartTime(); + } + } + } + if (is_object($klausimas)) $this->end_time = $klausimas->getEndTime(); + unset($xpath); + unset($table_dom); + } + + public function getDate() { + return $this->date; + } + + public function getParticipation() { + return $this->participation; + } +} + +?> diff --git a/classes/Question.php b/classes/Question.php new file mode 100755 index 0000000..1585af9 --- /dev/null +++ b/classes/Question.php @@ -0,0 +1,263 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +class Question extends HTMLObject { + + public static $url_token = 'p_svarst_kl_stad_id=-'; + public static $create_sql = 'SELECT *, 1 as PDO FROM questions WHERE id = ? ORDER by id ASC'; + public static $child_class = 'action'; + public static $children_sql = 'SELECT *, 1 as PDO FROM actions WHERE questions_id = ? ORDER BY id ASC'; + public static $items_sql = 'SELECT * FROM `items` WHERE questions_id = ? ORDER BY number ASC'; + public static $presenters_sql = 'SELECT * FROM `presenters` WHERE items_id = ? ORDER BY number ASC'; + + /* helper variable - not to be saved */ + protected $date; + + protected $start_time; + protected $end_time; + protected $title; + protected $number; + protected $sittings_id; + + /* special data to be saved separately */ + protected $items = array(); + + + public function __construct($url, Seimas $parent = NULL, $params = NULL, Factory $Factory = NULL) { + parent::__construct($url, $parent, $params, $Factory); + if (!$this->PDO) { //if object created not via DB + $this->start_time = $params['start_time']; + $this->title = $this->decode($this->clean($params['title'])); + $this->number = $params['number']; + $this->sittings_id = $this->getParentInfo('getId'); + } + $this->date = date('Y-m-d', strtotime($this->start_time)); + } + + protected function populateData() { + if ($this->PDO) { + //loaded via DB + if (empty($this->end_time)) { + //initial run - let's scrape additional data + return false; + } + else { + //all data loaded, only populate children / etc + $this->PopulateChildren(); + $this->PopulateItems(); + return true; + } + } + else { + //not loaded via DB - scrape all data + return false; + } + } + + //modified implementation of abstractions.php + public function populateChildren($initialiseSearch = false) { + $class = get_class($this); + $class_ = new ReflectionClass($class); + $token = $class_->getStaticPropertyValue('child_class'); + $children = $this->Factory->getObjectChildren($class, $token, $this->getId(), $this); + foreach ($children as $child) { + $this->children[$child->getNumber()] = $child; + } + if (empty($this->children) && ($initialiseSearch)) { + $this->scrapeData(); + $this->saveData(); + } + } + + protected function populateItems() { + $class = get_class($this); + $class_ = new ReflectionClass($class); + $items_sql = $class_->getStaticPropertyValue('items_sql'); + $presenters_sql = $class_->getStaticPropertyValue('presenters_sql'); + $items = $this->Factory->getArray($items_sql, array($this->getId())); + foreach ($items as $item) { + $presenters = $this->Factory->getArray($presenters_sql, array($item['id'])); + if (false != $presenters) { + $item['presenters'] = $presenters; + } + else { + $item['presenters'] = array(); + } + $this->items[$item['number']] = $item; + } + } + + protected function saveData() { + $array = get_object_vars($this); + unset($array['PDO']); + unset($array['Factory']); + unset($array['parent']); + unset($array['items']); + unset($array['children']); + unset($array['date']); + + $this->Factory->SaveObject('questions', $array, array('id')); + $this->saveItems(); + + foreach ($this->children as $child) { + $child->saveMainData(); + } + } + + protected function saveItems() { + foreach ($this->items as $number => $item) { + $presenters = $item['presenters']; + unset($item['presenters']); + $item['questions_id'] = $this->getId(); + $item['number'] = $number; + $item_id = 0; + $item_id = $this->Factory->saveObject('items', $item, array('id', 'questions_id')); + if (0 == $item_id) { + if (isset($item['id'])) { //some random anomaly of some items being here twice... + $item_id = $item['id']; // if DB returns 0, the item was in DB before, thus ID attrib. should be present in array + } + } + /* save presenters data */ + if (0 != $item_id ) { + foreach ($presenters as $number => $presenter) { + $this->Factory->saveObject('presenters', array('presenter' => $presenter, 'items_id' => $item_id, 'number' => $number), array('id', 'items_id')); + } + } + } + } + + protected function scrapeData($reload = FALSE) { + $dom = $this->getHTMLDOM($this->url, $reload); + $this->getItems($dom); + $this->getActions($dom); + } + + protected function getItems(DOMDocument $dom) { + $xpath = new DOMXPath($dom); + $questions_dom = $xpath->query("//li[preceding::h4 and following::h4]"); + if ($questions_dom->length > 0) { //if more than one inner question + $i = 0; + foreach ($questions_dom as $question_dom) { + //get data for each inner question + $this->items[$i++] = $this->getItemMetaData($question_dom); + } + } + else { + $questions_dom = $xpath->query("//node()[preceding::h4 and following::h4]"); + if ($questions_dom->length > 0) { //if one question only, need to create a new DOMElement (shame on you, XPATH!) + $newDom = new DOMDocument('1.0', 'UTF-8'); + $root = $newDom->createElement('root'); + $root = $newDom->appendChild($root); + $prev = ''; + foreach ($questions_dom as $question_dom) { + if ($question_dom->nodeValue != $prev) { + $domNode = $newDom->importNode($question_dom, true); + $root->appendChild($domNode); + } + $prev = $question_dom->nodeValue; + } + $this->items[0] = $this->getItemMetaData($root); + } + else + log_f('klausimo lentele: metadata not found', $this->getId()); + } + unset($xpath); + } + + protected function getItemMetaData(DOMElement $dom) { + + $data = array(); + + //find document links + $links = $dom->getElementsByTagName('a'); + foreach ($links as $link) { + $db_field = $this->getLinkType($this->decode(str_replace(array(chr(160), chr(194)), ' ', $link->nodeValue))); + $data[$db_field] = $link->getAttribute('href'); + } + + //find title of question + $title = $dom->getElementsByTagName('b')->item(0); + if (is_object($title)) + $data['title'] = $this->decode($title->nodeValue); + + //find speakers + $decoded = $this->decode(DOMinnerHTML($dom)); + $data['presenters'] = array(); + $pos = stripos($decoded, 'Pranešėja'); + if ($pos !== false) { + $matches = array(); + preg_match_all('/<b>(.*?)<\/b>/u', substr($decoded, $pos + 9), $matches, PREG_SET_ORDER); + foreach ($matches as $match) { + if (isset($match[1])) + $data['presenters'][] = $match[1]; + } + } + return $data; + } + + protected function getLinkType($lithuanian_string) { + switch($lithuanian_string) { + case 'dokumento tekstas': return 'document_url'; + case 'susiję dokumentai': return 'related_doc_url'; + default: return 'other_url'; + } + } + + protected function getActions($dom) { + + $xpath = new DOMXPath($dom); + $actions_dom = $xpath->query("//table[contains(@class, 'basic')]/tr[td]"); + $i = 0; + foreach ($actions_dom as $action_dom) { + /* Create Children Actions */ + // dirty hack for avoiding Factory exception of no ID & URL + $this->children[$i] = $this->Factory->getObject(self::$child_class, 'http://fake-url.lt/', '', $this, array('dom' => $action_dom, 'id' => $i)); + $i++; + } + $this->initialiseChildrenParse(); + /* get end_time of a question */ + try { + //try to get the start time of next question + $this->end_time = $this->getSiblingInfoByPosition($this->getId(), +1, 'getStartTime'); + } + catch(Exception $e) { + //if no success - probably last question. Try end time of last children, if any + if ($i > 0) { + $this->end_time = $this->date . ' ' . $this->children[$i - 1]->getEndTime(); + } + else { + //if no actions - set end time as the start time of the next question + $this->end_time = $this->start_time; + } + } + unset($xpath); + } + + protected function initialiseChildrenParse() { + foreach ($this->children as $child) { + $child->parseData(); + } + } + + public function getStartTime() { + return $this->start_time; + } + + public function getEndTime() { + if (empty($this->end_time)) { + $this->initialise(); + } + return $this->end_time; + } + + public function getTitle() { + return $this->title; + } + +} + +?> diff --git a/classes/Sesija.php b/classes/Sesija.php new file mode 100755 index 0000000..67e7711 --- /dev/null +++ b/classes/Sesija.php @@ -0,0 +1,82 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +class Session extends HTMLObject { + + static public $create_sql = 'SELECT *, 1 as PDO FROM `sessions` WHERE id = ?'; + static public $children_sql = 'SELECT *, 1 as PDO FROM `sittings` where sessions_id = ?'; + static public $child_class = 'sitting'; + static public $url_token = 'p_ses_id='; + + + protected $number; + protected $type; + protected $start_date; + protected $end_date; + + protected function populateData() { + if ($this->PDO) { + $this->populateChildren(); + return true; + } + else return false; + } + + public function saveData() { + $array = get_object_vars($this); + unset($array['PDO']); + unset($array['Factory']); + unset($array['parent']); + unset($array['url_token']); + $children_array = array(); + foreach ($array['children'] as $child) { + $children_array[] = array('id' => $child->getId(), 'url' => $child->getUrl(), 'sessions_id' => $this->getId()); + } + unset($array['children']); + $this->Factory->SaveObject('sessions', $array, array('id')); + $this->Factory->SaveObjects('sittings', $children_array, array('id', 'sessions_id')); + } + + public function scrapeData($reload = FALSE) { + $dom = $this->getHTMLDOM($this->url, $reload); + $this->getMetaData($dom); + $this->getSittings($dom); + } + + private function getSittings(DOMDocument $dom) { + $xpath = new DOMXPath($dom); + $sittings = array(); + $sittings_dom = $xpath->query("//table[contains(@class, 'basic')]/tr/td[last()]/a[contains(@href, 'p_fakt_pos_id')]/@href"); + foreach ($sittings_dom as $link) { + $sitting = $this->Factory->getObject(self::$child_class, self::BASE_URL . $link->nodeValue, '', $this); + $sittings[$sitting->getId()] = $sitting; + } + $this->children = $sittings; + unset($xpath); + } + + private function getMetaData(DOMDocument $dom) { + $title = $dom->getElementsByTagName('title')->item(0)->nodeValue; + $matches = array(); + preg_match("/(\d) ((ne)?(eilinė)) Seimo sesija \((.*) - (.*)\)/u", $title, $matches); + $this->number = $matches[1]; + $this->type = $matches[2]; + $this->start_date = trim($matches[5]); + if ($matches[6] != '...') $this->end_date = trim($matches[6]); + else $this->end_date = false; + } + + public function getType() { + return $this->type; + } + + public function getNumber() { + return $this->number; + } +} + +?> diff --git a/classes/Updater.php b/classes/Updater.php new file mode 100755 index 0000000..a7c0b16 --- /dev/null +++ b/classes/Updater.php @@ -0,0 +1,167 @@ +<?php + +class Updater { + + protected $session; + protected $last_time = 0; + + public function __construct(Session $session) { + $this->session = $session; + $this->last_time = microtime(true); + $this->start_time = $this->last_time; + } + + /* Surenkame sesijos posėdžių sąrašą ir viską išsaugome */ + /* Scrape the list of the sittings in the session and save */ + public function updateSittingList() { + $this->session->scrapeData(true); + $this->session->saveData(); + } + + /* Daugiausiai resursų reikalaujantis etapas: rekursiškai keliaujam per objektų medį, + * renkame visus duomenis ir viską saugome */ + /* The heavylifting part:Do the recursive object-tree scraping and save all the obtained data */ + public function obtainData() { + $this->session->initialise(); + $this->session->initialiseChildren(true); + } + + /* Seime.lt skaičiavimai: klausimai skaldomi į dalis ir apskaičiuojamas tikslus lankomumas */ + /* Seime.lt estimations: Participation data is estimated precisely, at sub-question level */ + public function estimateParticipation() { + foreach ($this->session->getChildren() as $sitting) { + foreach ($sitting->getChildren() as $question) { + if (false === $question->populateParticipation()) { + $question->estimateParticipation(); + $question->saveParticipation(); + } + } + } + } + + /* Nustatomi ryšiai tarp registracijų į balsavimus ir pačių balsavimų */ + /* Establish links between registrations for voting and voting themselves */ + public function linkRegistrations() { + foreach ($this->session->getChildren() as $sitting) { + foreach ($sitting->getChildren() as $question) { + foreach ($question->getChildren() as $action) + $action->InitialiseLink(); + } + } + } + + /* Pagalbinė funkcija, grąžinanti SQL užklausas iš aplanko 'sqls/' + /* Helper function: returns SQL commands from files in 'sqls/' folder */ + public function getSQL($script) { + $file = BASE_DIR . 'sqls/' . $script . '.sql'; + if (file_exists($file)) { + return file_get_contents($file); + } + else throw new Exception('SQL file is unavailable: ' . $file); + } + + /* Pagalbinė funkcija, spausdinanti žinutę ir laiką nuo paskutinės žinutės */ + /* Helper function: prints message and elapsed execution time since last message */ + public function announce($message) { + $c_time = microtime(true); + echo $message . ' for session #' . $this->session->getId() . + ' in ' . round(($c_time - $this->last_time), 3) . 's' . + ' (total time: ' . round(($c_time - $this->start_time), 3) . 's)<br><br>'; + $this->last_time = $c_time; + flush(); + } + + /* Seimo narių duomenų atnaujinimas - surenkamas aprašymas, vardas, nuotrauka. Išsiunčiamas pranešimas apie naują informaciją */ + /* Updates member info - scrapes description, get name & picture. Notifies via email if new info is added */ + public function updateMember(array $member) { + $url = 'http://www3.lrs.lt/pls/inter/w5_show?p_r=8801&p_k=1&p_a=5&p_asm_id=' . $member['id'] .'&p_kade_id=7'; + if($html = @file_get_contents($url)) { + //clean the HTML + $html = ScrapingUtilities::cleanHTML($html); + //parse the HTML + $dom = new DOMDocument('1.0', 'UTF-8'); + @$dom->loadHTML($html); + //get the name + $name = $dom->getElementsByTagName('title')->item(0)->nodeValue; + $name = str_replace('-', ' - ', $name); + $member['name'] = trim(mb_convert_case($name, MB_CASE_TITLE)); + //get the image src & send email with details + $div = $dom->getElementById('divDesContent'); + $images = $div->getElementsByTagName('img')->item(0); + if (is_object($images)) { + $member['image_src'] = $images->getAttribute('src'); + $this->sendPictureEmail($member); + } + //return the updated data + return $member; + } + else { + throw new Exception('Remote file fetching failed'); + } + } + + /* Išsiunčiamas el. laiškas apie naują Seimo narį - naudojama Seime.lt svetainėje */ + /* Sends an email about new member added - for Seime.lt purposes */ + public function sendPictureEmail(array $member) { + $subject = '[seime.lt] - naujas narys: '. $member['name']; + $headers = 'MIME-Version: 1.0' . "\r\n"; + $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; + $text = ' <strong>Pridėtas naujas seimo narys</strong><br> + Nuotraukos URL: %1$s<br> + Full dydžio nuotrauka (180x135): /images/people/full/%2$s.jpg<br/> + Thumb (60x45): /images/people/thumbs/%2$s.jpg<br/></br/> + Mekeke!'; + $text = sprintf($text, $member['image_src'], $member['id']); + mail(NOTIF_EMAIL, $subject, wordwrap($text), $headers); + } + + /* Pagalbinis updateMember metodas */ + /* Wrapper for updateMember method */ + public function updateMembers(array $members) { + foreach($members as &$member) { + try { + $member = $this->updateMember($member); + } + catch(Exception $e) { + $this->announce("Updating data failed for $member: " . $e->__toString()); + } + } + return $members; + } + + /* Atnaujinama Seimo narių, kurie pradėjo kadenciją vėliau arba ją baigė per anksti, informacija */ + /* Update details on members who entered late of left early */ + public function getTermDetails() { + $list = array(); + if ($html = @file_get_contents('http://www3.lrs.lt/pls/inter/w5_show?p_r=6113&p_k=1')) { + //clean the HTML + $html = ScrapingUtilities::cleanHTML($html); + //parse the HTML + $dom = new DOMDocument('1.0', 'UTF-8'); + @$dom->loadHTML($html); + $xpath = new DOMXPath($dom); + $r = $xpath->query('//td[a[contains(@href,"p_asm_id")] and (contains(., "iki") or contains(., "nuo"))]'); + if ($r instanceof DOMNodeList) { + foreach ($r as $node) { + preg_match('#p_asm_id=(\d+)#', DOMInnerHTML($node), $matches); + $id = $matches[1]; + $start = '0000-00-00'; + $end = '0000-00-00'; + if (preg_match('#nuo (\d{4} \d{2} \d{2})#', DOMInnerHTML($node), $matches)) { + $start = str_replace(' ', '-', $matches[1]); + } + if (preg_match('#iki (\d{4} \d{2} \d{2})#', DOMInnerHTML($node), $matches)) { + $end = str_replace(' ', '-', $matches[1]); + } + $list[] = array('id' => $id, 'cadency_start' => $start, 'cadency_end' => $end); + } + return $list; + } + else { + $this->announce('UPDATING TERM DETAILS FAILED - HTML not recognized!'); + } + } + } + +} + diff --git a/classes/Updater.php~ b/classes/Updater.php~ new file mode 100755 index 0000000..44472c7 --- /dev/null +++ b/classes/Updater.php~ @@ -0,0 +1,167 @@ +<?php + +class Updater { + + protected $session; + protected $last_time = 0; + + public function __construct(Session $session) { + $this->session = $session; + $this->last_time = microtime(true); + $this->start_time = $this->last_time; + } + + /* Surenkame sesijos posėdžių sąrašą ir viską išsaugome */ + /* Scrape the list of the sittings in the session and save */ + public function updateSittingList() { + $this->session->scrapeData(true); + $this->session->saveData(); + } + + /* Daugiausiai resursų reikalaujantis etapas: rekursiškai keliaujam per objektų medį, + * renkame visus duomenis ir viską saugome */ + /* The heavylifting part:Do the recursive object-tree scraping and save all the obtained data */ + public function obtainData() { + $this->session->initialise(); + $this->session->initialiseChildren(true); + } + + /* Seime.lt skaičiavimai: klausimai skaldomi į dalis ir apskaičiuojamas tikslus lankomumas */ + /* Seime.lt estimations: Participation data is estimated precisely, at sub-question level */ + public function estimateParticipation() { + foreach ($this->session->getChildren() as $sitting) { + foreach ($sitting->getChildren() as $question) { + if (false === $question->populateParticipation()) { + $question->estimateParticipation(); + $question->saveParticipation(); + } + } + } + } + + /* Nustatomi ryšiai tarp registracijų į balsavimus ir pačių balsavimų */ + /* Establish links between registrations for voting and voting themselves */ + public function linkRegistrations() { + foreach ($this->session->getChildren() as $sitting) { + foreach ($sitting->getChildren() as $question) { + foreach ($question->getChildren() as $action) + $action->InitialiseLink(); + } + } + } + + /* Pagalbinė funkcija, grąžinanti SQL užklausas iš aplanko 'sqls/' + /* Helper function: returns SQL commands from files in 'sqls/' folder */ + public function getSQL($script) { + $file = BASE_DIR . 'sqls/' . $script . '.sql'; + if (file_exists($file)) { + return file_get_contents($file); + } + else throw new Exception('SQL file is unavailable: ' . $file); + } + + /* Pagalbinė funkcija, spausdinanti žinutę ir laiką nuo paskutinės žinutės */ + /* Helper function: prints message and elapsed execution time since last message */ + public function announce($message) { + $c_time = microtime(true); + echo $message . ' for session #' . $this->session->getId() . + ' in ' . round(($c_time - $this->last_time), 3) . 's' . + ' (total time: ' . round(($c_time - $this->start_time), 3) . 's)<br><br>'; + $this->last_time = $c_time; + flush(); + } + + /* Seimo narių duomenų atnaujinimas - surenkamas aprašymas, vardas, nuotrauka. Išsiunčiamas pranešimas apie naują informaciją */ + /* Updates member info - scrapes description, get name & picture. Notifies via email if new info is added */ + public function updateMember(array $member) { + $url = 'http://www3.lrs.lt/pls/inter/w5_show?p_r=6113&p_k=1&p_a=5&p_asm_id=' . $member['id'] .'&p_kade_id=6'; + if($html = @file_get_contents($url)) { + //clean the HTML + $html = ScrapingUtilities::cleanHTML($html); + //parse the HTML + $dom = new DOMDocument('1.0', 'UTF-8'); + @$dom->loadHTML($html); + //get the name + $name = $dom->getElementsByTagName('title')->item(0)->nodeValue; + $name = str_replace('-', ' - ', $name); + $member['name'] = trim(mb_convert_case($name, MB_CASE_TITLE)); + //get the image src & send email with details + $div = $dom->getElementById('divDesContent'); + $images = $div->getElementsByTagName('img')->item(0); + if (is_object($images)) { + $member['image_src'] = $images->getAttribute('src'); + $this->sendPictureEmail($member); + } + //return the updated data + return $member; + } + else { + throw new Exception('Remote file fetching failed'); + } + } + + /* Išsiunčiamas el. laiškas apie naują Seimo narį - naudojama Seime.lt svetainėje */ + /* Sends an email about new member added - for Seime.lt purposes */ + public function sendPictureEmail(array $member) { + $subject = '[seime.lt] - naujas narys: '. $member['name']; + $headers = 'MIME-Version: 1.0' . "\r\n"; + $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; + $text = ' <strong>Pridėtas naujas seimo narys</strong><br> + Nuotraukos URL: %1$s<br> + Full dydžio nuotrauka (180x135): /images/people/full/%2$s.jpg<br/> + Thumb (60x45): /images/people/thumbs/%2$s.jpg<br/></br/> + Mekeke!'; + $text = sprintf($text, $member['image_src'], $member['id']); + mail(NOTIF_EMAIL, $subject, wordwrap($text), $headers); + } + + /* Pagalbinis updateMember metodas */ + /* Wrapper for updateMember method */ + public function updateMembers(array $members) { + foreach($members as &$member) { + try { + $member = $this->updateMember($member); + } + catch(Exception $e) { + $this->announce("Updating data failed for $member: " . $e->__toString()); + } + } + return $members; + } + + /* Atnaujinama Seimo narių, kurie pradėjo kadenciją vėliau arba ją baigė per anksti, informacija */ + /* Update details on members who entered late of left early */ + public function getTermDetails() { + $list = array(); + if ($html = @file_get_contents('http://www3.lrs.lt/pls/inter/w5_show?p_r=6113&p_k=1')) { + //clean the HTML + $html = ScrapingUtilities::cleanHTML($html); + //parse the HTML + $dom = new DOMDocument('1.0', 'UTF-8'); + @$dom->loadHTML($html); + $xpath = new DOMXPath($dom); + $r = $xpath->query('//td[a[contains(@href,"p_asm_id")] and (contains(., "iki") or contains(., "nuo"))]'); + if ($r instanceof DOMNodeList) { + foreach ($r as $node) { + preg_match('#p_asm_id=(\d+)#', DOMInnerHTML($node), $matches); + $id = $matches[1]; + $start = '0000-00-00'; + $end = '0000-00-00'; + if (preg_match('#nuo (\d{4} \d{2} \d{2})#', DOMInnerHTML($node), $matches)) { + $start = str_replace(' ', '-', $matches[1]); + } + if (preg_match('#iki (\d{4} \d{2} \d{2})#', DOMInnerHTML($node), $matches)) { + $end = str_replace(' ', '-', $matches[1]); + } + $list[] = array('id' => $id, 'cadency_start' => $start, 'cadency_end' => $end); + } + return $list; + } + else { + $this->announce('UPDATING TERM DETAILS FAILED - HTML not recognized!'); + } + } + } + +} + diff --git a/classes/abstractions.php b/classes/abstractions.php new file mode 100755 index 0000000..3bc7f9c --- /dev/null +++ b/classes/abstractions.php @@ -0,0 +1,279 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +abstract class Utilities { + const BASE_URL = 'http://www3.lrs.lt/pls/inter/'; + + protected function clearCache($url) { + $md5 = md5($url); + $base_folder = dirname(__FILE__) . '/../cache'; + $folder = substr($md5, 0, 2); + $path = "$base_folder/$folder/$md5"; + if (file_exists($path)) { + unlink($path); + } + } + + protected function getHTMLDOM($url, $reload = FALSE) { + + /* cache implementation */ + $md5 = md5($url); + $base_folder = dirname(__FILE__) . '/../cache'; + $folder = substr($md5, 0, 2); + $path = "$base_folder/$folder/$md5"; + if ( (file_exists($path)) && (!$reload) ) { + //if file in cache, take it from there + $html = file_get_contents($path); + } + else { + $old_path = "$base_folder/$md5"; + if ((file_exists($old_path)) && (!$reload)) { + //file in old cache, take it from there + $html = file_get_contents($old_path); + } + else { + //file not present, download it + $html = file_get_contents($url); + if ($html === false) { + return false; + } + } + + if (!is_dir("$base_folder/$folder")) { + //create a dir, if not existing + $oldumask = umask(0); + mkdir("$base_folder/$folder"); + umask($oldumask); + } + file_put_contents($path, $html); //save the file + } + $html = @iconv('windows-1257', 'UTF-8//IGNORE', $html); + $html = str_replace('charset=windows-1257"', 'charset=UTF-8"', $html); + $tidy = new tidy; + $config = array( + 'indent' => true, + 'output-xhtml' => true, + 'wrap' => 200); + $tidy->parseString($html, $config, 'UTF8'); + $tidy->cleanRepair(); + $dom = new DOMDocument('1.0', 'UTF-8'); + @$dom->loadHTML((string) $tidy); + return $dom; + } + + final protected function clean($string) { + return trim(str_replace(array(' ', 'Â'), '', htmlentities($string, ENT_NOQUOTES, 'UTF-8'))); + } + + final protected function decode($string) { + $string = html_entity_decode($string, ENT_QUOTES, 'UTF-8'); + return preg_replace('/\s+/', ' ', $string); + } + + final protected function getMemberId(DOMElement $dom) { + $variables = array(); + $a = $dom->getElementsByTagName('a')->item(0); + if (is_object($a)) { + $variables = array(); + $query = parse_url($a->getAttribute('href'), PHP_URL_QUERY); + parse_str($query, $variables); + if (isset($variables['p_asm_id'])) { + return $variables['p_asm_id']; + } else { + $member_id = str_replace('a', '', $a->getAttribute('name')); + if (!empty($member_id)) { + return $member_id; + } else { + log_f('parsing error: lankomumo lentele - person a asm_id . ', $this->getId()); + } + } + } + else + log_f('parsing error: lankomumo lentele - person a . ', $this->getId()); + } + +} + +abstract class HTMLObject extends Utilities implements Seimas { + + protected $parent = NULL; + protected $Factory = NULL; + protected $children = array(); + protected $id = ''; + protected $url = ''; + protected $PDO = 0; + + public function __construct($url, Seimas $parent = NULL, $params = NULL, Factory $Factory = NULL) { + /* Determine if not created via PDO */ + if (empty($this->PDO)) { + $this->url = $url; + $query = parse_url($url, PHP_URL_QUERY); + $class_name = get_class($this); + $class = new ReflectionClass($class_name); + $token = $class->getStaticPropertyValue('url_token'); + $this->id = str_replace($token, '', $query); + } + /* Add reference to parent */ + $this->parent = $parent; + /* Add reference to Factory */ + $this->Factory = $Factory; + } + + final public function initialise() { + if (false === $this->getId()) { + throw new Exception('no URL defined!'); + } + elseif (false === $this->populateData()) { + try { + $this->scrapeData(); + $this->saveData(); + } + catch (Exception $e) { + '<br><br>Unexpected conditions met!<br>' . $e->getMessage(); + } + } + } + + public function populateChildren($initialiseSearch = false) { + $class = get_class($this); + $class_ = new ReflectionClass($class); + $child_class = $class_->getStaticPropertyValue('child_class'); + $this->children = $this->Factory->getObjectChildren($class, $child_class, $this->getId(), $this); + if (empty($this->children) && ($initialiseSearch)) { + $this->scrapeData(); + $this->saveData(); + } + } + + public function initialiseChildren($recursive = false) { + foreach ($this->children as $child) { + if ($child instanceof Seimas) { + $child->initialise(); + if ($recursive) { + $child->initialiseChildren(true); + } + } + else + throw new Exception('child does not implement Seimas Interface'); + } + } + + final protected function getParentInfo($function, $parameters = array()) { + if (NULL === $this->parent) { + throw new Exception('no parent available'); + } else { + return call_user_func_array(array($this->parent, $function), $parameters); + } + } + + final protected function getSiblingInfoById($sibling_id, $function, $parameters = array()) { + if (NULL === $this->parent) { + throw new Exception('no parent available'); + } else { + $sibling = $this->parent->getChild($sibling_id); + if (false === $sibling) { + throw new Exception('no sibling with such ID available'); + } else { + return call_user_func_array(array($sibling, $function), $parameters); + } + } + } + + final protected function getSiblingInfoByPosition($current_id, $sibling_position, $function, $parameters = array()) { + if (NULL === $this->parent) { + throw new Exception('no parent available'); + } else { + $sibling = $this->parent->getChildByPosition($current_id, $sibling_position); + if (false === $sibling) { + throw new Exception('no sibling with such ID available'); + } else { + return call_user_func_array(array($sibling, $function), $parameters); + } + } + } + + final protected function getChild($child_id) { + if (isset($this->children[$child_id])) + return $this->children[$child_id]; + else + return false; + } + + final protected function getChildByPosition($child_id, $relative_sibling_position) { + $children = array_keys($this->children); + $child_position = array_search($child_id, $children); + if (false === $child_position) { + return false; + } else { + $sibling_position = $child_position + $relative_sibling_position; + if (!isset($children[$sibling_position])) + return false; + else { + $sibling_id = $children[$sibling_position]; + return $this->getChild($sibling_id); + } + } + } + + final public function getChildren() { + return $this->children; + } + + public function getId() { + return $this->id; + } + + public function getUrl() { + return $this->url; + } + + public function show() { + $a = false; + if ($a = $this->__toString()) { + echo "<strong>Class " . get_class($this) . '<br></strong>'; + print_f($a); + } + else + print_f($this); + } + + public function __toString() { + $array = get_object_vars($this); + unset($array['PDO']); + unset($array['Factory']); + unset($array['parent']); + unset($array['url_token']); + unset($array['additional_data']); + if (is_array($array['children'])) + $array['children'] = $this->cleanChildren($array['children']); + return $array; + } + + protected function cleanChildren($children) { + $array = array(); + foreach ($children as $id => $child) { + if ($child instanceof Seimas) { + $child->class_name = '<strong>' . get_class($child) . ' Object</strong>'; + $array[$id] = $child->__toString(); + } + } + return $array; + } + + abstract protected function populateData(); + + abstract protected function saveData(); + + abstract protected function scrapeData($reload = FALSE); +} + +Interface Seimas { + + public function initialise(); +} + +?> diff --git a/classes/utilities.php b/classes/utilities.php new file mode 100755 index 0000000..d7468a3 --- /dev/null +++ b/classes/utilities.php @@ -0,0 +1,55 @@ +<?php + + function DOMinnerHTML(DOMElement $element) + { + $innerHTML = ""; + $children = $element->childNodes; + foreach ($children as $child) + { + $tmp_dom = new DOMDocument(); + $tmp_dom->appendChild($tmp_dom->importNode($child, true)); + $innerHTML.=trim($tmp_dom->saveHTML()); + } + return $innerHTML; + } + + function print_f($array) { + echo '<pre>'; + + if ($array instanceof DOMNodeList) { + print_r($array->length); + foreach ($array as $node) { + echo $node->nodeValue; + } + } + elseif ($array instanceof DOMNode) { + echo $array->nodeValue; + } + else print_r($array); + echo '</pre>'; + } + + function log_f($message, $object_id) { + echo '<br>' . $message . '<br>'; + } + + class ScrapingUtilities { + public static function cleanHTML($html) { + $html = @iconv('windows-1257', 'UTF-8//IGNORE', $html); + $html = str_replace('charset=windows-1257"', 'charset=UTF-8"', $html); + $tidy = new tidy(); + $config = array('indent' => true, 'output-xhtml' => true, 'wrap' => 200); + $tidy->parseString($html, $config, 'UTF8'); + $tidy->cleanRepair(); + return (string) $tidy; + } + } + + function __ending($number, $endings = array('narių', 'narys', 'nariai')) { + $count = $number % 100; + if (($count > 9) && ($count < 20)) return $endings[0]; + elseif ($count % 10 == 0) return $endings[0]; + elseif ($count % 10 == 1) return $endings[1]; + else return $endings[2]; + } + diff --git a/code-docs/code-summary-ENG.md b/code-docs/code-summary-ENG.md new file mode 100755 index 0000000..c68aa13 --- /dev/null +++ b/code-docs/code-summary-ENG.md @@ -0,0 +1,54 @@ +Seime.lt code is licenced under Creative Commons BY-NC-SA 3.0 licence: +http://creativecommons.org/licenses/by-nc-sa/3.0/ + +## DOCUMENTATION OF SEIME.LT CODE a.k.a BEWARE THERE BE DRAGONS ## + +Unfortunately, a full documentation of the code is not yet ready (and, to be honest, +chances are it will not be for a long time). Thus, the navigation through the +code will be mostly up to the reader. Nevertheless, we have a brief summary of what +you can expect. You are always welcome to shoot us an email to info@seime.lt and +we'll do our best to help you out! + +### STRUCTURE OF CODE ### + +- The core of the code is in the folder `classes/`. We note that it's the first +project where we practically tried to apply OOP concepts, so you'll find a lot of +high-coupling and low-cohesion examples. In any way, the following principles will +largely hold: + + - Factory class is responsible for manipulating objects' data in the dabatse, creating objects from DB as well as traversing the main object tree. + - Each of the Seimas work objects (session, sitting, question, action) has its own class. + - Each of the Seimas work objects is a child of the HTMLObject class (abstractions.php), which contains common methods as well defines the overall structure of the way the objects are constructed. + - utilities.php file contains various helper functions. + +- Folder `extensions/` contains classes that add extra functionality to the core object +classes. That is, classes in the `classes/` folder use only the oficial data from the +Lithuanian Seimas website, whereas `extensions/` classes add additional calculations +(such as participation data estimation on sub-question level). You can define which +classes are used in the tree on runtime, by passing parameters to Factory class. + +- Folder `cache/` contains all the HTML files downloaded from http://lrs.lt. +The caching mechanism is implemented in the Utilities class (classes/abstractions.php). + +- Folder `sqls/` contains SQL queries, which are used to populate some of the +SQL tables with additional data. They are used solely by `classes/Updater.php` class. + +### RUNNING THE CODE ### + +If you want to jump right away, all you need to do is create a session object +(you can, actually, start at sitting / question level, too) and initialise it: +```php +<?php + $s = $Factory->getObject('session', SESSION_URL); + //SESSION_URL looks like this: http://www3.lrs.lt/pls/inter/w5_sale.ses_pos?p_ses_id=91 + $s->scrapeData(true); // TRUE = force to redownload data + $this->session->initialise(); //Initialise the session object (populate the fields from HTML) + $this->session->initialiseChildren(true); //Recursively populate all children + $s->saveData(); +?> +``` +However, this will only collect and save to DB the main data. The additional calculations +will not be present. + +For a full information collection / update example, see the file `update-ENG.php` & +the Updater class located at `classes/Updater.php`. diff --git a/code-docs/code-summary-LT.md b/code-docs/code-summary-LT.md new file mode 100755 index 0000000..192a980 --- /dev/null +++ b/code-docs/code-summary-LT.md @@ -0,0 +1,53 @@ +Seime.lt kodas pateikiamas su Creative Commons BY-NC-SA 3.0 licencija: +http://creativecommons.org/licenses/by-nc-sa/3.0/ + +## SEIME.LT KODO DOKUMENTACIJA a.k.a BEWARE THERE BE DRAGONS ## + +Pilnos Seime.lt dokumentacijos vis dar neprisiruošėme parengti. Tad naršyti po +kodą kol kas teks pusiau užrištomis akimis. Bet kokiu atveju, žemiau pateikiame +trumpą kodo struktūros santrauką ir kodo pavyzdžių. Sėkmės, o jei iškiltų +neišsprendžiamų klausimų - visada gali parašyti į info@seime.lt! + +### KODO STRUKTŪRA ### + +- Pagrindinis kodas laikomas aplanke `classes/`. Tai buvo pirmasis projektas, +kuriame Seime.lt komanda realiai išbandė OOP, tad jame pilna high-coupling ir +low-cohesion pavyzdžių. Pagrindiniai principai tokie: + + - `Factory` klasė atsakinga už objektų saugojimą / sukūrimą iš DB ir keliavimą objektų medžiu (sibling / parent / etc metodai). + - Kiekvienas Seimo darbo objektas (sesija, posėdis ir t.t.) turi savo klasę. + - Bendri Seimo darbo objektų metodai, veikimo struktūros griaučiai apibrėžti klasėje `HTMLObject (abstractions.php)` + - `utilities.php` faile saugomos pagalbinės klasės ir funkcijos. + +- Aplanke `extensions/` laikomos klasės, kurios prideda papildomo funkcionalumo +prie Seimo darbo klasių. T.y., `classes/` aplanke esančios klasės naudoja tik +"oficialius" Seimo svetainėje pateikiamus duomenis. `Extensions` aplanke esančios +klasės prideda papildomus skaičiavimus (kaip, pvz., sub-klausimų lygio dalyvavimo +statistiką). Tai, kurios klasės naudojamos, nustatoma perduodant Factory klasei +klasių pavadinimus, kaip antrą parametrą. + +- Aplanke `cache/` saugomi visi parsiųsti http://lrs.lt HTML dokumentai. Saugojimo +mechanizmas įgyvendintas Utilities klasėje, `classes/abstractions.php` dokumente. + +- Aplanke `sqls/` saugomos SQL užklausos, kurių pagalba sugeneruojamos kai kurios +SQL lentelės (papildomi duomenys). Jas naudoja `classes/Updater.php` klasė. + +### DARBAS SU KODU ### + +Praktiškai, norint susirinkti duomenis reikia susikurti sesijos objektą +ir jį (bei sub-objektus) inicijuoti: +```php +<?php + $s = $Factory->getObject('session', SESIJOS_URL); + //SESIJOS_URL pavyzdys: http://www3.lrs.lt/pls/inter/w5_sale.ses_pos?p_ses_id=91 + $s->scrapeData(true); // TRUE = iš naujo parsisiųsti HTML failą, net jei yra cache versija + $this->session->initialise(); //Inicijuojamas sesijos objektas (užpildomi laukai pagal HTML informaciją) + $this->session->initialiseChildren(true); //Rekursiškai inicijuojami visi sub-objektai. + $s->saveData(); +?> +``` +Tiesa, taip nebus užpildytos visos SQL lentelės, trūks kai kurios kitos informacijos. + +Pilnas informacijos surinkimo / atnaujinimo pavyzdys pateikiamas `update.php` +Jis naudoja `Updater` klasę, esančią `classes/Updater.php`, kuri sukurta būtent duomenų +surinkimui ar jų atnaujinimui. diff --git a/composer.json b/composer.json deleted file mode 100644 index de43f00..0000000 --- a/composer.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "laravel/laravel", - "description": "The Laravel Framework.", - "keywords": ["framework", "laravel"], - "license": "MIT", - "require": { - "laravel/framework": "4.2.*", - "guzzlehttp/guzzle": "4.*", - "xethron/migrations-generator": "dev-master", - "barryvdh/laravel-debugbar": "1.x" - }, - "autoload": { - "classmap": [ - "app/commands", - "app/controllers", - "app/models", - "app/database/migrations", - "app/database/seeds", - "app/tests/TestCase.php" - ] - }, - "scripts": { - "post-install-cmd": [ - "php artisan clear-compiled", - "php artisan optimize" - ], - "post-update-cmd": [ - "php artisan clear-compiled", - "php artisan optimize", - "php artisan debugbar:publish" - ], - "post-create-project-cmd": [ - "php artisan key:generate" - ] - }, - "config": { - "preferred-install": "dist" - }, - "minimum-stability": "stable" -} diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 247b99a..0000000 --- a/composer.lock +++ /dev/null @@ -1,2432 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "439bd4c9b872a2915b577e7727414fbc", - "packages": [ - { - "name": "barryvdh/laravel-debugbar", - "version": "v1.6.7", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "ccf9ababfb2b5ddbf8c3ece2ca3fc9989b11ec0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/ccf9ababfb2b5ddbf8c3ece2ca3fc9989b11ec0d", - "reference": "ccf9ababfb2b5ddbf8c3ece2ca3fc9989b11ec0d", - "shasum": "" - }, - "require": { - "laravel/framework": "~4.0", - "maximebf/debugbar": "~1.9", - "php": ">=5.3.0", - "symfony/finder": "~2.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-0": { - "Barryvdh\\Debugbar": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "PHP Debugbar integration for Laravel", - "keywords": [ - "debug", - "debugbar", - "laravel", - "profiler", - "webprofiler" - ], - "time": "2014-08-09 20:41:59" - }, - { - "name": "classpreloader/classpreloader", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/mtdowling/ClassPreloader.git", - "reference": "2c9f3bcbab329570c57339895bd11b5dd3b00877" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mtdowling/ClassPreloader/zipball/2c9f3bcbab329570c57339895bd11b5dd3b00877", - "reference": "2c9f3bcbab329570c57339895bd11b5dd3b00877", - "shasum": "" - }, - "require": { - "nikic/php-parser": "~0.9", - "php": ">=5.3.3", - "symfony/console": "~2.1", - "symfony/filesystem": "~2.1", - "symfony/finder": "~2.1" - }, - "bin": [ - "classpreloader.php" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "ClassPreloader": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Helps class loading performance by generating a single PHP file containing all of the autoloaded files for a specific use case", - "keywords": [ - "autoload", - "class", - "preload" - ], - "time": "2014-03-12 00:05:31" - }, - { - "name": "d11wtq/boris", - "version": "v1.0.8", - "source": { - "type": "git", - "url": "https://github.com/d11wtq/boris.git", - "reference": "125dd4e5752639af7678a22ea597115646d89c6e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/d11wtq/boris/zipball/125dd4e5752639af7678a22ea597115646d89c6e", - "reference": "125dd4e5752639af7678a22ea597115646d89c6e", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "suggest": { - "ext-pcntl": "*", - "ext-posix": "*", - "ext-readline": "*" - }, - "bin": [ - "bin/boris" - ], - "type": "library", - "autoload": { - "psr-0": { - "Boris": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "time": "2014-01-17 12:21:18" - }, - { - "name": "doctrine/annotations", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "d9b1a37e9351ddde1f19f09a02e3d6ee92e82efd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/d9b1a37e9351ddde1f19f09a02e3d6ee92e82efd", - "reference": "d9b1a37e9351ddde1f19f09a02e3d6ee92e82efd", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "php": ">=5.3.2" - }, - "require-dev": { - "doctrine/cache": "1.*", - "phpunit/phpunit": "4.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Annotations\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "time": "2014-07-06 15:52:21" - }, - { - "name": "doctrine/cache", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/e16d7adf45664a50fa86f515b6d5e7f670130449", - "reference": "e16d7adf45664a50fa86f515b6d5e7f670130449", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "phpunit/phpunit": ">=3.7", - "satooshi/php-coveralls": "~0.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Cache\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Caching library offering an object-oriented API for many cache backends", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "cache", - "caching" - ], - "time": "2013-10-25 19:04:14" - }, - { - "name": "doctrine/collections", - "version": "v1.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/b99c5c46c87126201899afe88ec490a25eedd6a2", - "reference": "b99c5c46c87126201899afe88ec490a25eedd6a2", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\Collections\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Collections Abstraction library", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "array", - "collections", - "iterator" - ], - "time": "2014-02-03 23:07:43" - }, - { - "name": "doctrine/common", - "version": "v2.4.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/common.git", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/5db6ab40e4c531f14dad4ca96a394dfce5d4255b", - "reference": "5db6ab40e4c531f14dad4ca96a394dfce5d4255b", - "shasum": "" - }, - "require": { - "doctrine/annotations": "1.*", - "doctrine/cache": "1.*", - "doctrine/collections": "1.*", - "doctrine/inflector": "1.*", - "doctrine/lexer": "1.*", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~3.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Common\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Common Library for Doctrine projects", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "annotations", - "collections", - "eventmanager", - "persistence", - "spl" - ], - "time": "2014-05-21 19:28:51" - }, - { - "name": "doctrine/dbal", - "version": "v2.4.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "fec965d330c958e175c39e61c3f6751955af32d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/fec965d330c958e175c39e61c3f6751955af32d0", - "reference": "fec965d330c958e175c39e61c3f6751955af32d0", - "shasum": "" - }, - "require": { - "doctrine/common": "~2.4", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*", - "symfony/console": "~2.0" - }, - "suggest": { - "symfony/console": "Allows use of the command line interface" - }, - "type": "library", - "autoload": { - "psr-0": { - "Doctrine\\DBAL\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - } - ], - "description": "Database Abstraction Layer", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "database", - "dbal", - "persistence", - "queryobject" - ], - "time": "2014-01-01 16:43:57" - }, - { - "name": "doctrine/inflector", - "version": "v1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/54b8333d2a5682afdc690060c1cf384ba9f47f08", - "reference": "54b8333d2a5682afdc690060c1cf384ba9f47f08", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "Doctrine\\Common\\Inflector\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com", - "homepage": "http://www.jwage.com/", - "role": "Creator" - }, - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Common String Manipulations with regard to casing and singular/plural rules.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "inflection", - "pluarlize", - "singuarlize", - "string" - ], - "time": "2013-01-10 21:49:15" - }, - { - "name": "doctrine/lexer", - "version": "v1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/2f708a85bb3aab5d99dab8be435abd73e0b18acb", - "reference": "2f708a85bb3aab5d99dab8be435abd73e0b18acb", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "Doctrine\\Common\\Lexer\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com", - "homepage": "http://www.instaclick.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh", - "role": "Developer of wrapped JMSSerializerBundle" - } - ], - "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "http://www.doctrine-project.org", - "keywords": [ - "lexer", - "parser" - ], - "time": "2013-01-12 18:59:04" - }, - { - "name": "filp/whoops", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "9f451fbc7b8cad5e71300672c340c28c6bec09ff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/9f451fbc7b8cad5e71300672c340c28c6bec09ff", - "reference": "9f451fbc7b8cad5e71300672c340c28c6bec09ff", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "mockery/mockery": "0.9.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "psr-0": { - "Whoops": "src/" - }, - "classmap": [ - "src/deprecated" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://github.com/filp/whoops", - "keywords": [ - "error", - "exception", - "handling", - "library", - "silex-provider", - "whoops", - "zf2" - ], - "time": "2014-07-11 05:56:54" - }, - { - "name": "guzzlehttp/guzzle", - "version": "4.1.7", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "448f2c2076cf0fb756230611491c4f7ecb735a29" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/448f2c2076cf0fb756230611491c4f7ecb735a29", - "reference": "448f2c2076cf0fb756230611491c4f7ecb735a29", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/streams": "~1.4", - "php": ">=5.4.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" - }, - "suggest": { - "ext-curl": "Guzzle will use specific adapters if cURL is present" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2014-08-08 01:30:43" - }, - { - "name": "guzzlehttp/streams", - "version": "1.5.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/streams.git", - "reference": "fb0d1ee29987c2bdc59867bffaade6fc88c2675f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/streams/zipball/fb0d1ee29987c2bdc59867bffaade6fc88c2675f", - "reference": "fb0d1ee29987c2bdc59867bffaade6fc88c2675f", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.5-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Stream\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Provides a simple abstraction over streams of data (Guzzle 4+)", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "Guzzle", - "stream" - ], - "time": "2014-08-10 23:57:01" - }, - { - "name": "ircmaxell/password-compat", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/ircmaxell/password_compat.git", - "reference": "1fc1521b5e9794ea77e4eca30717be9635f1d4f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ircmaxell/password_compat/zipball/1fc1521b5e9794ea77e4eca30717be9635f1d4f4", - "reference": "1fc1521b5e9794ea77e4eca30717be9635f1d4f4", - "shasum": "" - }, - "type": "library", - "autoload": { - "files": [ - "lib/password.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anthony Ferrara", - "email": "ircmaxell@ircmaxell.com", - "homepage": "http://blog.ircmaxell.com" - } - ], - "description": "A compatibility library for the proposed simplified password hashing algorithm: https://wiki.php.net/rfc/password_hash", - "homepage": "https://github.com/ircmaxell/password_compat", - "keywords": [ - "hashing", - "password" - ], - "time": "2013-04-30 19:58:08" - }, - { - "name": "jeremeamia/SuperClosure", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/jeremeamia/super_closure.git", - "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jeremeamia/super_closure/zipball/d05400085f7d4ae6f20ba30d36550836c0d061e8", - "reference": "d05400085f7d4ae6f20ba30d36550836c0d061e8", - "shasum": "" - }, - "require": { - "nikic/php-parser": "~0.9", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~3.7" - }, - "type": "library", - "autoload": { - "psr-0": { - "Jeremeamia\\SuperClosure": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jeremy Lindblom" - } - ], - "description": "Doing interesting things with closures like serialization.", - "homepage": "https://github.com/jeremeamia/super_closure", - "keywords": [ - "closure", - "function", - "parser", - "serializable", - "serialize", - "tokenizer" - ], - "time": "2013-10-09 04:20:00" - }, - { - "name": "laravel/framework", - "version": "v4.2.8", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "e60ea917ab862254a6db37fa9cb8933138c1e73c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/e60ea917ab862254a6db37fa9cb8933138c1e73c", - "reference": "e60ea917ab862254a6db37fa9cb8933138c1e73c", - "shasum": "" - }, - "require": { - "classpreloader/classpreloader": "~1.0", - "d11wtq/boris": "~1.0", - "filp/whoops": "1.1.*", - "ircmaxell/password-compat": "~1.0", - "jeremeamia/superclosure": "~1.0", - "monolog/monolog": "~1.6", - "nesbot/carbon": "~1.0", - "patchwork/utf8": "1.1.*", - "php": ">=5.4.0", - "phpseclib/phpseclib": "0.3.*", - "predis/predis": "0.8.*", - "stack/builder": "~1.0", - "swiftmailer/swiftmailer": "~5.1", - "symfony/browser-kit": "2.5.*", - "symfony/console": "2.5.*", - "symfony/css-selector": "2.5.*", - "symfony/debug": "2.5.*", - "symfony/dom-crawler": "2.5.*", - "symfony/finder": "2.5.*", - "symfony/http-foundation": "2.5.*", - "symfony/http-kernel": "2.5.*", - "symfony/process": "2.5.*", - "symfony/routing": "2.5.*", - "symfony/security-core": "2.5.*", - "symfony/translation": "2.5.*" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/cache": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/exception": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/foundation": "self.version", - "illuminate/hashing": "self.version", - "illuminate/html": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/mail": "self.version", - "illuminate/pagination": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/remote": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version", - "illuminate/workbench": "self.version" - }, - "require-dev": { - "aws/aws-sdk-php": "~2.6", - "iron-io/iron_mq": "~1.5", - "mockery/mockery": "~0.9", - "pda/pheanstalk": "~2.1", - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "doctrine/dbal": "Allow renaming columns and dropping SQLite columns." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/Illuminate/Queue/IlluminateQueueClosure.php" - ], - "files": [ - "src/Illuminate/Support/helpers.php" - ], - "psr-0": { - "Illuminate": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com" - } - ], - "description": "The Laravel Framework.", - "keywords": [ - "framework", - "laravel" - ], - "time": "2014-08-05 19:52:17" - }, - { - "name": "maximebf/debugbar", - "version": "1.9.14", - "source": { - "type": "git", - "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "ab02c692d2bdad1009639f6ba319576af590620c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/ab02c692d2bdad1009639f6ba319576af590620c", - "reference": "ab02c692d2bdad1009639f6ba319576af590620c", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "require-dev": { - "php": ">=5.3.0" - }, - "suggest": { - "kriswallsmith/assetic": "The best way to manage assets", - "monolog/monolog": "Log using Monolog", - "predis/predis": "Redis storage" - }, - "type": "library", - "autoload": { - "psr-0": { - "DebugBar": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maxime Bouroumeau-Fuseau", - "email": "maxime.bouroumeau@gmail.com", - "homepage": "http://maximebf.com" - } - ], - "description": "Debug bar in the browser for php application", - "homepage": "https://github.com/maximebf/php-debugbar", - "keywords": [ - "debug" - ], - "time": "2014-04-25 16:30:40" - }, - { - "name": "monolog/monolog", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "25b16e801979098cb2f120e697bfce454b18bf23" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/25b16e801979098cb2f120e697bfce454b18bf23", - "reference": "25b16e801979098cb2f120e697bfce454b18bf23", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "psr/log": "~1.0" - }, - "require-dev": { - "aws/aws-sdk-php": "~2.4, >2.4.8", - "doctrine/couchdb": "~1.0@dev", - "graylog2/gelf-php": "~1.0", - "phpunit/phpunit": "~3.7.0", - "raven/raven": "~0.5", - "ruflin/elastica": "0.90.*" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mongo": "Allow sending log messages to a MongoDB server", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "raven/raven": "Allow sending log messages to a Sentry server", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be", - "role": "Developer" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "http://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "time": "2014-06-04 16:30:04" - }, - { - "name": "nesbot/carbon", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "9b42a1aec56011c2ac4d75c0ddad0794762344fc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/9b42a1aec56011c2ac4d75c0ddad0794762344fc", - "reference": "9b42a1aec56011c2ac4d75c0ddad0794762344fc", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Carbon": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" - } - ], - "description": "A simple API extension for DateTime.", - "homepage": "https://github.com/briannesbitt/Carbon", - "keywords": [ - "date", - "datetime", - "time" - ], - "time": "2014-07-18 03:44:47" - }, - { - "name": "nikic/php-parser", - "version": "v0.9.5", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ef70767475434bdb3615b43c327e2cae17ef12eb", - "reference": "ef70767475434bdb3615b43c327e2cae17ef12eb", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.9-dev" - } - }, - "autoload": { - "psr-0": { - "PHPParser": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "time": "2014-07-23 18:24:17" - }, - { - "name": "patchwork/utf8", - "version": "v1.1.25", - "source": { - "type": "git", - "url": "https://github.com/nicolas-grekas/Patchwork-UTF8.git", - "reference": "2d43bd047b120279511d45e76e61c5a9812d9a83" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nicolas-grekas/Patchwork-UTF8/zipball/2d43bd047b120279511d45e76e61c5a9812d9a83", - "reference": "2d43bd047b120279511d45e76e61c5a9812d9a83", - "shasum": "" - }, - "require": { - "lib-pcre": ">=7.3", - "php": ">=5.3.0" - }, - "suggest": { - "ext-iconv": "Use iconv for best performance", - "ext-intl": "Use Intl for best performance", - "ext-mbstring": "Use Mbstring for best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, - "autoload": { - "psr-0": { - "Patchwork": "class/", - "Normalizer": "class/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "(Apache-2.0 or GPL-2.0)" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com", - "role": "Developer" - } - ], - "description": "Extensive, portable and performant handling of UTF-8 and grapheme clusters for PHP", - "homepage": "https://github.com/nicolas-grekas/Patchwork-UTF8", - "keywords": [ - "i18n", - "unicode", - "utf-8", - "utf8" - ], - "time": "2014-08-05 08:00:32" - }, - { - "name": "phpseclib/phpseclib", - "version": "0.3.7", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "8b8c62f278e363b75ddcacaf5803710232fbd3e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/8b8c62f278e363b75ddcacaf5803710232fbd3e4", - "reference": "8b8c62f278e363b75ddcacaf5803710232fbd3e4", - "shasum": "" - }, - "require": { - "php": ">=5.0.0" - }, - "require-dev": { - "phing/phing": "2.7.*", - "phpunit/phpunit": "4.0.*", - "squizlabs/php_codesniffer": "1.*" - }, - "suggest": { - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.", - "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 4.3.3." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3-dev" - } - }, - "autoload": { - "psr-0": { - "Crypt": "phpseclib/", - "File": "phpseclib/", - "Math": "phpseclib/", - "Net": "phpseclib/", - "System": "phpseclib/" - }, - "files": [ - "phpseclib/Crypt/Random.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "phpseclib/" - ], - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "time": "2014-07-05 16:36:21" - }, - { - "name": "predis/predis", - "version": "v0.8.7", - "source": { - "type": "git", - "url": "https://github.com/nrk/predis.git", - "reference": "4123fcd85d61354c6c9900db76c9597dbd129bf6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nrk/predis/zipball/4123fcd85d61354c6c9900db76c9597dbd129bf6", - "reference": "4123fcd85d61354c6c9900db76c9597dbd129bf6", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "ext-curl": "Allows access to Webdis when paired with phpiredis", - "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol" - }, - "type": "library", - "autoload": { - "psr-0": { - "Predis": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniele Alessandri", - "email": "suppakilla@gmail.com", - "homepage": "http://clorophilla.net" - } - ], - "description": "Flexible and feature-complete PHP client library for Redis", - "homepage": "http://github.com/nrk/predis", - "keywords": [ - "nosql", - "predis", - "redis" - ], - "time": "2014-08-01 09:43:10" - }, - { - "name": "psr/log", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21 11:40:51" - }, - { - "name": "stack/builder", - "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/stackphp/builder.git", - "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stackphp/builder/zipball/b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7", - "reference": "b4af43e7b7f3f7fac919ff475b29f7c5dc7b23b7", - "shasum": "" - }, - "require": { - "php": ">=5.3.0", - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.1" - }, - "require-dev": { - "silex/silex": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-0": { - "Stack": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch", - "homepage": "http://wiedler.ch/igor/" - } - ], - "description": "Builder for stack middlewares based on HttpKernelInterface.", - "keywords": [ - "stack" - ], - "time": "2014-01-28 19:42:24" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v5.2.1", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "2b9af56cc676c338d52fca4c657e5bdff73bb7af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/2b9af56cc676c338d52fca4c657e5bdff73bb7af", - "reference": "2b9af56cc676c338d52fca4c657e5bdff73bb7af", - "shasum": "" - }, - "require": { - "php": ">=5.2.4" - }, - "require-dev": { - "mockery/mockery": "~0.9.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Chris Corbyn" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "http://swiftmailer.org", - "keywords": [ - "mail", - "mailer" - ], - "time": "2014-06-13 11:44:54" - }, - { - "name": "symfony/browser-kit", - "version": "v2.5.3", - "target-dir": "Symfony/Component/BrowserKit", - "source": { - "type": "git", - "url": "https://github.com/symfony/BrowserKit.git", - "reference": "ecb0e1ac56af2c3f93f4ac8ff2131872bc7db40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/ecb0e1ac56af2c3f93f4ac8ff2131872bc7db40c", - "reference": "ecb0e1ac56af2c3f93f4ac8ff2131872bc7db40c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/dom-crawler": "~2.0" - }, - "require-dev": { - "symfony/css-selector": "~2.0", - "symfony/process": "~2.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\BrowserKit\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony BrowserKit Component", - "homepage": "http://symfony.com", - "time": "2014-08-06 06:44:37" - }, - { - "name": "symfony/console", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Console", - "source": { - "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "cd2d1e4bac2206b337326b0140ff475fe9ad5f63" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/cd2d1e4bac2206b337326b0140ff475fe9ad5f63", - "reference": "cd2d1e4bac2206b337326b0140ff475fe9ad5f63", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Console\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Console Component", - "homepage": "http://symfony.com", - "time": "2014-08-05 09:00:40" - }, - { - "name": "symfony/css-selector", - "version": "v2.5.3", - "target-dir": "Symfony/Component/CssSelector", - "source": { - "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "e24b8215bf39a6a2ce0c262bc5b000724077afa9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/e24b8215bf39a6a2ce0c262bc5b000724077afa9", - "reference": "e24b8215bf39a6a2ce0c262bc5b000724077afa9", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\CssSelector\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com", - "time": "2014-07-09 09:05:48" - }, - { - "name": "symfony/debug", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Debug", - "source": { - "type": "git", - "url": "https://github.com/symfony/Debug.git", - "reference": "189da713c1f8bb03f9184eb87b43ecbc732284ac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/189da713c1f8bb03f9184eb87b43ecbc732284ac", - "reference": "189da713c1f8bb03f9184eb87b43ecbc732284ac", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.1" - }, - "suggest": { - "symfony/http-foundation": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Debug\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Debug Component", - "homepage": "http://symfony.com", - "time": "2014-07-09 09:05:48" - }, - { - "name": "symfony/dom-crawler", - "version": "v2.5.3", - "target-dir": "Symfony/Component/DomCrawler", - "source": { - "type": "git", - "url": "https://github.com/symfony/DomCrawler.git", - "reference": "9cb8aaea71fabae517ca007ca4b639e96f490c5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/9cb8aaea71fabae517ca007ca4b639e96f490c5e", - "reference": "9cb8aaea71fabae517ca007ca4b639e96f490c5e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/css-selector": "~2.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\DomCrawler\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "http://symfony.com", - "time": "2014-08-05 09:00:40" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.5.3", - "target-dir": "Symfony/Component/EventDispatcher", - "source": { - "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "8faf5cc7e80fde74a650a36e60d32ce3c3e0457b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/8faf5cc7e80fde74a650a36e60d32ce3c3e0457b", - "reference": "8faf5cc7e80fde74a650a36e60d32ce3c3e0457b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0", - "symfony/dependency-injection": "~2.0", - "symfony/stopwatch": "~2.2" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com", - "time": "2014-07-28 13:20:46" - }, - { - "name": "symfony/filesystem", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Filesystem", - "source": { - "type": "git", - "url": "https://github.com/symfony/Filesystem.git", - "reference": "c1309b0ee195ad264a4314435bdaecdfacb8ae9c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Filesystem/zipball/c1309b0ee195ad264a4314435bdaecdfacb8ae9c", - "reference": "c1309b0ee195ad264a4314435bdaecdfacb8ae9c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Filesystem\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "http://symfony.com", - "time": "2014-07-09 09:05:48" - }, - { - "name": "symfony/finder", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Finder", - "source": { - "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "090fe4eaff414d8f2171c7a4748ea868d530775f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/090fe4eaff414d8f2171c7a4748ea868d530775f", - "reference": "090fe4eaff414d8f2171c7a4748ea868d530775f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Finder\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Finder Component", - "homepage": "http://symfony.com", - "time": "2014-07-28 13:20:46" - }, - { - "name": "symfony/http-foundation", - "version": "v2.5.3", - "target-dir": "Symfony/Component/HttpFoundation", - "source": { - "type": "git", - "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "53296aa0794ebe1e3880e3f2c68fe10ddad6c3e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/53296aa0794ebe1e3880e3f2c68fe10ddad6c3e3", - "reference": "53296aa0794ebe1e3880e3f2c68fe10ddad6c3e3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/expression-language": "~2.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "classmap": [ - "Symfony/Component/HttpFoundation/Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony HttpFoundation Component", - "homepage": "http://symfony.com", - "time": "2014-08-05 09:00:40" - }, - { - "name": "symfony/http-kernel", - "version": "v2.5.3", - "target-dir": "Symfony/Component/HttpKernel", - "source": { - "type": "git", - "url": "https://github.com/symfony/HttpKernel.git", - "reference": "d3e1fa28d23fe00f2b932ca9d1e4371f9053f05e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/d3e1fa28d23fe00f2b932ca9d1e4371f9053f05e", - "reference": "d3e1fa28d23fe00f2b932ca9d1e4371f9053f05e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "psr/log": "~1.0", - "symfony/debug": "~2.5", - "symfony/event-dispatcher": "~2.5", - "symfony/http-foundation": "~2.4" - }, - "require-dev": { - "symfony/browser-kit": "~2.2", - "symfony/class-loader": "~2.1", - "symfony/config": "~2.0", - "symfony/console": "~2.2", - "symfony/dependency-injection": "~2.0", - "symfony/finder": "~2.0", - "symfony/process": "~2.0", - "symfony/routing": "~2.2", - "symfony/stopwatch": "~2.2", - "symfony/templating": "~2.2" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\HttpKernel\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony HttpKernel Component", - "homepage": "http://symfony.com", - "time": "2014-08-06 07:03:01" - }, - { - "name": "symfony/process", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Process", - "source": { - "type": "git", - "url": "https://github.com/symfony/Process.git", - "reference": "e0997d2a9a1a763484b34b989900b61322a9b056" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/e0997d2a9a1a763484b34b989900b61322a9b056", - "reference": "e0997d2a9a1a763484b34b989900b61322a9b056", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Process\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Process Component", - "homepage": "http://symfony.com", - "time": "2014-08-05 09:00:40" - }, - { - "name": "symfony/routing", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Routing", - "source": { - "type": "git", - "url": "https://github.com/symfony/Routing.git", - "reference": "1c285e6fffaa026c8073a387f403b1052d61ed95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/1c285e6fffaa026c8073a387f403b1052d61ed95", - "reference": "1c285e6fffaa026c8073a387f403b1052d61ed95", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "doctrine/annotations": "~1.0", - "psr/log": "~1.0", - "symfony/config": "~2.2", - "symfony/expression-language": "~2.4", - "symfony/yaml": "~2.0" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Routing\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Routing Component", - "homepage": "http://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "time": "2014-07-28 13:20:46" - }, - { - "name": "symfony/security-core", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Security/Core", - "source": { - "type": "git", - "url": "https://github.com/symfony/security-core.git", - "reference": "d6a8860f015e1f8e8e42c2141a4a88b1965c32ec" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/d6a8860f015e1f8e8e42c2141a4a88b1965c32ec", - "reference": "d6a8860f015e1f8e8e42c2141a4a88b1965c32ec", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "ircmaxell/password-compat": "1.0.*", - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/expression-language": "~2.4", - "symfony/http-foundation": "~2.4", - "symfony/validator": "~2.2" - }, - "suggest": { - "ircmaxell/password-compat": "For using the BCrypt password encoder in PHP <5.5", - "symfony/event-dispatcher": "", - "symfony/expression-language": "For using the expression voter", - "symfony/http-foundation": "", - "symfony/validator": "For using the user password constraint" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Security\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Security Component - Core Library", - "homepage": "http://symfony.com", - "time": "2014-08-05 09:00:40" - }, - { - "name": "symfony/translation", - "version": "v2.5.3", - "target-dir": "Symfony/Component/Translation", - "source": { - "type": "git", - "url": "https://github.com/symfony/Translation.git", - "reference": "ae573e45b099b1e2d332930ac626cd4270e09539" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/ae573e45b099b1e2d332930ac626cd4270e09539", - "reference": "ae573e45b099b1e2d332930ac626cd4270e09539", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/config": "~2.0", - "symfony/yaml": "~2.2" - }, - "suggest": { - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.5-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Translation Component", - "homepage": "http://symfony.com", - "time": "2014-07-28 13:20:46" - }, - { - "name": "way/generators", - "version": "2.6.1", - "source": { - "type": "git", - "url": "https://github.com/JeffreyWay/Laravel-4-Generators.git", - "reference": "484d379c6bc1d38c75e4f52f74efcbcd11f7dd2c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JeffreyWay/Laravel-4-Generators/zipball/484d379c6bc1d38c75e4f52f74efcbcd11f7dd2c", - "reference": "484d379c6bc1d38c75e4f52f74efcbcd11f7dd2c", - "shasum": "" - }, - "require": { - "illuminate/support": "~4.0", - "php": ">=5.4.0" - }, - "require-dev": { - "behat/behat": "~2.5.1", - "behat/mink": "~1.5.0", - "behat/mink-extension": "~1.2.0", - "behat/mink-goutte-driver": "~1.0.9", - "behat/mink-selenium2-driver": "~1.1.1", - "phpspec/phpspec": "~2.0", - "phpunit/phpunit": "~3.7" - }, - "type": "library", - "autoload": { - "psr-0": { - "Way\\Generators": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jeffrey Way", - "email": "jeffrey@jeffrey-way.com", - "homepage": "http://jeffrye-way.com", - "role": "Developer" - } - ], - "description": "Rapidly generate resources, migrations, models, and much more.", - "time": "2014-05-27 14:21:26" - }, - { - "name": "xethron/migrations-generator", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Xethron/migrations-generator.git", - "reference": "50114af1d10a6fd2dca0ee31114cbf6c553645db" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Xethron/migrations-generator/zipball/50114af1d10a6fd2dca0ee31114cbf6c553645db", - "reference": "50114af1d10a6fd2dca0ee31114cbf6c553645db", - "shasum": "" - }, - "require": { - "doctrine/dbal": "~2.4", - "illuminate/support": "~4.1", - "php": ">=5.3.0", - "way/generators": "2.*" - }, - "require-dev": { - "illuminate/cache": ">=4.1.0", - "illuminate/console": ">=4.1.0", - "mockery/mockery": ">=0.9.0", - "phpunit/phpunit": ">=4.0.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Xethron\\MigrationsGenerator": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Breytenbach", - "email": "bernhard@coffeecode.co.za" - } - ], - "description": "Generates Laravel Migrations from an existing database", - "keywords": [ - "artisan", - "generator", - "laravel", - "migration", - "migrations" - ], - "time": "2014-07-27 18:45:48" - } - ], - "packages-dev": [], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "xethron/migrations-generator": 20 - }, - "prefer-stable": false, - "platform": [], - "platform-dev": [] -} diff --git a/cron.php b/cron.php new file mode 100755 index 0000000..3edd66c --- /dev/null +++ b/cron.php @@ -0,0 +1,42 @@ +<?php + +if ($_SERVER['REMOTE_ADDR'] == $_SERVER['SERVER_ADDR']) { + + require_once '/home/aurimas/domains/lplius.lt/public_html/seime.lt-backend/classes/DB.php'; + + $sql_params = array('mysql:dbname=aurimas_seime;host=localhost', 'aurimas', 'windows1257', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); + list($dsn, $username, $password, $driver_options) = $sql_params; + $db = new DB($dsn, $username, $password, $driver_options); + + $old_sittings = $db->getVar('SELECT COUNT(*) FROM sittings', array()); + + $command = '/usr/local/bin/php -d safe_mode=Off -d open_basedir=/ -d display_errors=true /home/aurimas/domains/lplius.lt/public_html/seime.lt-backend/update.php'; + exec($command, $output, $code); + + $o = implode("\n", $output); + + $new_sittings = $db->getVar('SELECT COUNT(*) FROM sittings', array()); + $prefix = '[seime.lt] [' . date('Y-m-d') . '] '; + if ($old_sittings == $new_sittings) $subject = $prefix . 'Nepridėta posėdžių'; + else { + $subject = $prefix . 'Pridėta posėdžių: ' . ($new_sittings - $old_sittings); + exec('find /home/aurimas/domains/seime.lt/public_html/cache/ -name "*.cache" -type f | xargs rm'); + } + + $headers = 'MIME-Version: 1.0' . "\r\n"; + $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; + + echo '<strong>' . $subject . '</strong><br>'; + print_r($o); + + echo 'mail status:' . var_dump(mail('info@seime.lt', $subject, wordwrap($o), $headers)); + + file_get_contents('http://seime.lt/balsavimas'); + + $backup_command = 'mysqldump -u aurimas -pwindows1257 aurimas_seime | gzip -c > /home/aurimas/domains/seime.lt/public_html/downloads/seime.lt.gz'; + exec($backup_command); +} +else { + echo 'Access denied'; +} + diff --git a/db-docs/README-LT.md b/db-docs/README-LT.md new file mode 100755 index 0000000..11434eb --- /dev/null +++ b/db-docs/README-LT.md @@ -0,0 +1,117 @@ +# SEIME.LT DUOMENŲ DOKUMENTACIJA # + +Šiame dokumente trumpai apibūdinsime Seime.lt SQL duomenų schemą. Tai nebus pilna +ir tiksli dokumentacija, bet jos turėtų užtekti suprasti pagrindinius duomenų +aspektus - visą kitą turėtų būti galima (gana) nesunkiai suprasti ir be tikslių +aprašymų. Bet kuriuo atveju - visada galima parašyti į info@seime.lt ir paprašyti +patikslinti vieną ar kitą detalę. Prieš pradedant skaityti šią dokumentaciją +rekomenduojame susipažinti su duomenų schemos brėžiniu, kuris pateikiamas seime.lt.pdf. + +Šios dokumentacijos struktūra tokia: + +* aptariamas pagrindinis objektų (sesijų, posėdžių, klausimų, veiksmų) medis +* aptariama įvairi oficiali informacija apie objektus +* aptariami papildomi Seime.lt komandos apskaičiuoti duomenys + +Seime.lt duomenys pateikiami su Creative Commons BY-NC-SA licencija: +http://creativecommons.org/licenses/by-nc-sa/3.0/ + +## PAGRINDINIS OBJEKTŲ MEDIS ## + +Seimo darbas vyksta sesijomis - kiekvienais metais vyksta pavasario ir rudens +sesijos, taip pat pagal poreikį organizuojamos neeilinės sesijos. Duomenys apie +Seimo sesijas saugomi lentelėje `SESSIONS`. + +Kiekvienos sesijos metu antradieniais ir ketvirtadieniais vyksta eiliniai Seimo +posėdžiai. Taip pat pagal poreikį organizuojami neeiliniai posėdžiai. Duomenys +apie Seimo posėdžius saugomi lentelėje `SITTINGS`. Kiekvienas posėdis priklauso +vienai iš sesijų ir yra susietas su ja ryšiu `SITTINGS.SESSIONS_ID = SESSIONS.ID`. + +Kiekvieno posėdžio metu yra nagrinėjami darbotvarkėje numatyti klausimai. Duomenys +apie kiekvieną klausimą saugomi lentelėje `QUESTIONS`. Kiekvienas klausimas priklauso +vienam iš posėdžių ir yra susietas su juo ryšiu `QUESTIONS.SITTINGS_ID = SITTINGS.ID`. + +Kiekvieno klausimo metu yra vykdomi "veiksmai" - Seimo narys pasisako, vyksta +registracija į balsavimą, vyksta balsavimas ir t.t. Veiksmų tipai aptariami žemiau. +Duomenys apie kiekvieną veiksmą saugomi lentelėje `ACTIONS`. Kiekvienas veiksmas +priklauso vienam iš klausimų ir yra susietas ryšiu `ACTIONS.QUESTIONS_ID = QUESTIONS.ID`. + +## PAPILDOMA INFORMACIJA APIE POSĖDŽIUS ## + +Seimo Statuto numatyta tvarka yra nustatoma, ar Seimo narys dalyvavo posėdyje: + +> 11 straipsnis. Laikoma, kad Seimo narys dalyvavo Seimo posėdyje, jeigu jis +> užsiregistravo daugiau kaip pusėje iš anksto numatytų ir numatytu laiku įvykusių +> balsavimų dėl teisės akto priėmimo ir užsiregistravo visuose tos dienos Seimo +> posėdžiuose. Laikoma, kad Seimo narys dalyvavo Seimo komiteto ar komisijos posėdyje, +> jeigu jis užsiregistravo posėdžio protokolo priede pasirašytinai. + +Ši oficiali dalyvavimo statistika saugoma lentelėje `SITTING_PARTICIPATION` formatu +`(MEMBERS_ID, SITTINGS_ID, PRESENCE)`, kur pirmieji du laukai yra nuorodos į `SITTINGS` +ir `MEMBERS` lenteles, o `PRESENCE` turi reikšmę 0 (nedalyvavo) arba 1 (dalyvavo). + +## PAPILDOMA INFORMACIJA APIE KLAUSIMUS ## + +Kai kurie svarstomi klausimai turi su susijusius dokumentus (pvz., svarstomo įstatymo +tekstas). Ši informacija saugoma lentelėje `ITEMS`, kuri susieta ryšiu +`ITEMS.QUESTIONS_ID = QUESTIONS.ID`. Be to, kai kuriais atvejais šie dokumentai yra +pristatomi pranešėjų. Ši informacija saugoma lentelėje `PRESENTERS`, kuri susieta ryšiu +`PRESENTERS.ITEMS_ID` = `ITEMS.ID. PRESENTERS` lentelėje pranešėjų vardai saugomi tekstiniu +formatu ir nėra susieti su `MEMBERS` lentele (nes pranešėjai ne visada yra Seimo nariai). +Tačiau ryšys `PRESENTERS.PRESENTER` = `MEMBERS.NAME` dažniausiai veikia be klaidų. + +## PAPILDOMA INFORMACIJA APIE VEIKSMUS ## + +Išskiriami 5 veiksmų tipai: + +- Seimo narių pasisakymai (`ACTIONS.TYPE` = "speech"). Informacija apie tai, kuris +Seimo narys pasisakė saugoma lentelėje `SPEAKERS` su ryšiais `SPEAKERS.ACTIONS_ID = +ACTIONS.ID` ir `SPEAKERS.MEMBERS_ID = MEMBERS.ID`. + +- Registracijos į balsavimus (`ACTIONS.TYPE` = "registration"). Duomenys apie +registracijas saugomi lentelėje `REGISTRATIONS` formatu `(MEMBERS_ID, ACTIONS_ID, presence)`, +kur pirmieji du laukai yra nuorodos į `ACTIONS` ir `MEMBERS` lenteles, o `PRESENCE` turi +reikšmę 0 (neužsiregistravo) arba 1 (užsiregistravo). +- Balsavimai (`ACTIONS.TYPE` = "voting"). Duomenys apie balsavimus saugomi lentelėje +`VOTES` formatu `(MEMBERS_ID, ACTIONS_ID, FRACTION, VOTE)`, kur pirmieji du laukai yra +nuorodos į `ACTIONS` ir `MEMBERS` lenteles, `FRACTION` yra tekstinis laukas su Seimo nario +frakcijos santrumpa ir `VOTE`, kuris įgauna reikšmes "abstain" (susilaikė), "accept" +(balsavo už), "dissappeare" (užsiregistravo, bet nebalsavo), "not presen" +(neužsiregistravo ir nebalsavo) ir "reject" (balsavo prieš). Visos reikšmės, išskyrus +"dissappeare" yra oficialios. "Disappeare" reikšmės apskaičiavimas aprašome žemiau. +- Vienbalsiški balsavimai (`ACTIONS.TYPE` = "u_voting"). Papildomos infomacijos nėra. +- Kiti veiksmai (`ACTIONS.TYPE` = "other"). Visi kiti veiksmai. Tarp šių veiksmų yra +ir alternatyvieji balsavimai (ne už/prieš , bet už A/už B tipo balsavimai), kurių +balsavimo duomenys saugomi taip pat, kaip ir paprastų balsavimų. + +## SEIME.LT KOMANDOS APSKAIČIUOTI DUOMENYS ## + +Vienas pagrindinių Seime.lt projekto tikslų buvo apskaičiuoti tikslesnę nei oficiali +Seimo narių lankomumo statistiką. Tai buvo nuspręsta padaryti suskaidant posėdžių laiką +į mažas dalis tarp registracijų ir skaičiuoti buvimo laiką remiantis šiais intervalais. + +- Visų pirma, buvo identifikuoti laiko intervalai tarp registracijų kiekviename klausime, +kurie saugomi lentelėje `SUBQUESTIONS`, kuri susieta su lentele `QUESTIONS` ryšiu +`SUBQUESTIONS.QUESTIONS_ID = QUESTIONS.ID`. +- Tada buvo rasta, ar Seimo narys dalyvavo posėdyje konkrečiame laiko intervale. +Buvo laikoma, kad Seimo narys dalyvavo posėdžio dalyje tarp dviejų registracijų, jei +užsiregistravo bent vienoje jų. Šie duomenys saugomi lentelėje `SUBQUESTIONS_PARTICIPATION` +formatu `(MEMBERS_ID, SUBQUESTIONS_ID, PRESENCE)`, kur pirmieji du laukai yra nuorodos +į `SUBQUESTIONS` ir `MEMBERS` lenteles, o `PRESENCE` turi reikšmę 0 (dalyvavo) arba 1 (nedalyvavo). +- Visi šie duomenys suagreguojami posėdžių lygmenyje ir saugomi lentelėje `PARTICIPATION_DATA` +formatu `(MEMBERS_ID, SITTINGS_ID, OFFICIAL_PRESENCE, HOURS_AVAILABLE, HOURS_PRESENT)`, kur: + - `MEMBERS_ID` yra nuoroda į `MEMBERS` lentelę; + - `SITTINGS_ID` yra nuoroda į `SITTINGS` lentelę; + - `OFFICIAL_PRESENCE` yra oficiali informacija apie tai, ar Seimo narys dalyvavo +posėdyje (žr. PAPILDOMA INFORMACIJA APIE POSĖDŽIUS aukščiau); + - `HOURS_AVAILABLE` yra visa posėdžio trukmė valandomis; + - `HOURS_PRESENT` yra Seimo nario buvimo posėdyje laikas, apskaičiuotas pagal +`SUBQUESTIONS_PARTICIPATION` lentelės duomenis. + +Seime.lt komanda taip pat norėjo identifikuoti tuos atvejus, kai Seimo nariai +užsiregistruoja į balsavimą, tačiau jame nesudalyvauja (nors jie beveik visada vyksta iš +karto vienas po kito). Tai buvo padaryta identifikuojant pirmą registraciją prieš kiekvieną +balsavimą. Šie registracijų ir balsavimų ryšiai saugomi lentelėje `VOTING_REGISTRATION`, kur +`VOTE_ID` yra nuoroda į `VOTES.ID` lauką, o `REGISTRATION_ID` yra nuoroda į `REGISTRATIONS.ID` lauką. +Taip pat remiantis šiais duomenimis buvo papildyta lentelę `VOTES`, kur laukui `VOTE` nustatyta +reikšmė "dissapeare" tais atvejais, kai Seimo narys užsiregistravo, bet nedalyvavo balsavime. diff --git a/db-docs/seime.lt.mwb b/db-docs/seime.lt.mwb new file mode 100755 index 0000000000000000000000000000000000000000..7517b8ba2dac3318d66c5932725f6fdebec6b25f GIT binary patch literal 17210 zcmZ6yV{~M1)b<(MR>yYIv2CMc+fK)}ZQHh0v2Au(LB}0W{?9z~&YJmfR-IkzUbRl0 z+I8*UzRtdtWWgaYKtMoXKr%|Tg!Z{_05IPX)b|1Leb_pf*!<*RV`nx20a5xtD?7ed zQWnr|e)58V=s7`wpnR`1bue+WGqZPPwEJz$=wWAjm8<m|pF8bz?@jg0L%(Y-CUqT5 zHjnmsq9vC*tL>PcNpD4w2L?jKJTp2eI{oz_n3yIqg?bc90)o_Dy<N6w1|Nq0IUHX1 z{WksUT>v-VxAh)i$?*aF=@XataT@LaCR>#Ldg;~IBV%zNssH(i>*Vj0Ha%@^Ts~EO z9FPCDX5rxP^KUD=xqt4&z?hdke{Odcjn}WuCMGx8g6Z?>@{-Bm(Zg(x!yp^*)nfi~ zY1^1nKYjP2rnnuxXJ4DszbWu%V}tqy*i1c$2XB=B6F>PBN9Uani{2{^rI0=nVT`u# zr<s7xy;)<{`y=ivBQwCMYWel$ScW-IFFuAa-(l~x4JSwZI69G41O>D1u5X>l-?xpu zx3Pz2LvN$bKJC8xk~hnWq~UF{tmSB7D0OAJOjd(#?s;$jX(@-(lYMc`g?|H!bmP6v z<7p`oO-yWR3yr+^QVV#KwPMVj-Q&D-bk-g^+T{E~rFE6lzjDvy-sgL1`Z0Bj=8{_g zPLa1mujk<NzA_`|icBb9-~Pqs{oai2|6=uleEs?2!S>-?bM!7?(6{B+=egfrN%tI0 z%KywHXg1o;@A}*rZ-9J6e!D=i+j;QfX4?NzSgv)to8s}@+?~a<T%#+4Y}WDeZqmp* zv>Mv+;rOv}xG}goiQ9pEwHvEj>Uy4NgLoJP<D!v7Y9@VnKM@beKe|u159wI=Z2&cx zbZ3?zMwQ~^$NR5M;zriBA+<zlMd$n)ad*1TA3yf$=6>ViWY>Ggx8-L+9&K37!SHp| z?cmCom;-!+=GURm+;y>R>r`!LjaEluk}5!!6JEH{I4l7gz@-bH<y8^-+`Qt<wqq0X zGAoIUcT`!VN!p8P){h|$kK#!^0R474iTJ#QM&H(t#UOH7tXe0iH)EHS$ozI<XLS8} zSp3#tnOGA~`jIhPCTNe^zyAKK0i-fM@Kt&2Xv<pDT#$(nF<ynt&F03v0FE$~s6z9n z80HbQjI%9aLBD=~zOT1Q`P$T6{0X>X7LNQ4rSujlpLgJ0f6o>goHR1{pJUseEIEg% zrcX1c2B=9?JDbNkVON>Sxk-vxGWv6LfM=7$qcwMTMpmbuBox!%L~H)tmXqc@o932# zWOq+b%Px(QRPx#t8K!19&-0U#sZPIjD?;RTup2h~csGs-hI<j{OL859r`NX`4^xRL z!3Q3h3ZwZlFLwRU-%roS)7u(Tb+OTaV{1MEfvP;~W=#US=3eJ=6W?Bsrf5RHBkX)e zLEU%1msfTD4ce6<ODAp}dwoKUX69Y5=2Ogm|DWyVDS*d1h>EPp(Cn-&Qi}2Dj%}P* z=B(|QE78|F!Rhh0%g{{uwm6%-kz~Nr=@z5kwM;9%Pb$8Bax8WgA0vm;33a8dA%_AZ z{ALACFP89iBOIT04bQT)vdyyamC6`Sfr8=k0!(V@tYU3qV8Nzo1zb8~;z4zu#c-<~ zkDNyG`YaH=C?hvdS%h>rObT`oS6wKwfcjuFCfkwvfW+?%oFc6_(heUrx-^feo`a$? zI`XjXH4F|75fc*)oK{3soB)&-1hZ7xs63KN38QtHQ;s<hDhjq36ur=hw6)<H1BbG! z;Vk7t+*b^vagmeHkxhwD42NS_bXar*LJYM~9QDZ?$h%to(jo8z4(A-7KrHm($Zvoo zh#$DWUoc;=Kk(Wx#P+ce7*cj@TREn|>DA|Iawwsg4v*X@W|i$598M}48XgBiSU5<g z-0&9yUa@q6MTa4m2H8dt67dlcP5VAjWJo(e%rId;WZ({+UNALmWGxfkwXQy`IXkgZ zF^YBdH4J_j3QyIM76iNSAZRQAen9-?xMIQi(uA`+BC`*a)XcmfAOQvh6_3~$DgZ<% z1xk!HdwEP0l#D+pxG@qlr6%5RN<LG~dR=MXaNkkS(NQW{co5VC<@E1Bn4pGx<7#Zr z9m$gNsP?m^vKk0bSX8dOF5$XV&=%5}Hgm%(Fg?EK**bGl8w>tzmg-|k^Xnhe+tJPa z!eW}nYZMx?j6wg*iMuPmTWN=z;cp@jrT5KNKX`w8bbZ24DcNV_g=QXw<HpJD?K1Z~ z=`V_G#b%a*Vzx&0u>s)#7=jg*F}lLhCo%ONYF6N+XMGh+o6C>*(c<HH9v3D~wadjm z12a3<m+Q;)bRwo*J+J*~09)gp14+*(cXidWBfv&&<)AC$tnz5d_OqDvPi`ol!7PT| zp8S~jW}(o`6%v^u2sfXH<_tmJ&Y+9nuE8%niA?W(HcIy029>Ry^fx<zLJMcsFV0zs zjRn^`Sk>2Knd}*YQ~S1H;9SmRb}f72hA5jPA<D;qWNgf%&`IsW*0FY|^vkh!lp1~J z{G1G;#Zk4)q;aF^F`w?jujQ1zyFVeS7^*HMx{5Xfb?}bWB-y9UA2AEX)CM@b@^EP- zAi{B8Ck*n=7{>8$o1_Y3W8DOi<#(g%yYL<<U_0I~kGiM*5?U_5$dcZU)^4YLUYK9g zYkxMracKK}iq2tcg|f>Me<d%wmD;CKeR}xcKBYf@sj62!#=lq=0a^T(dTmlo*nfO< zR;_gXMq$*98(8Zk5@BEL!mW@A0}HKUCMeisR&#-H>_%S6ae`F3qEZvo(|^BO0&dEQ z#{#PaBxs?uR%OKG(N+<ZYvEEWDj|zF<d%ET({`w=XFI@(o{}rD)9dxWiror+adrJp zB6h=}`f^XuHm#n*SD|PIC3VviN1Iqwhmfj`S$@r4VIXV$#9}4JOxV28zmNvesZ`^i zFwZ`_xv|*8!c1PLboaAkDzk5(2WtLf)3fmS^^-Yk)g!R-qwn1;Ir8HYGMc<Fb$Z+K z-Yhxmm%xra18B-)XL_@`KIOl`86TqGq+d=t5gHsn<ktlG>32W&_!6ajYP{Mw^!@uY zw*W<6HhWr|9<5OvSkVs6FHVaXirZT=!5tf1lk|-ZCj!7FKt53U?(W{Yi$brIwxhYR z!l*z3ecEErFMEc{OUrD4{+ClIi%S7UcbN6_w4MpOwYl%0W18WoHCw&O;o}2O_tYx@ z;L79uXye8U+|_HKf3uJDa+D=HEe6_z&)5ZW^kX^+b~mRZPpRt`MPK?pju~4~VfMc- zDA=3dZ+k8!LUpkJ9h|nOEp>J{E#&ZQui}%L-o7wfrLd!<51nxN^BJFq`udYLoHo_i zZ;dKxVP|^025V}A9C&Zm$+{X%AL!@h+u$LWQr{4?QQ>*NedXHZTy4-fYvA;N4a*NV z9SPqf9E;0bUbTquZ{kp`-;Y1ec<COv2AR$xUZ~qoC_5GI@zJ$UdkCXo6y^q}DjmE3 z>ek`+qt1Xy;fwE28wmnBFatpqN1_s=0v*o{ElOxofSTD=Y*HX&YmFB+a%B8l!esuF zu=#ajC1m&*G-4)PHewZydEPa407%3<$ROD_VivIxCuM4xh1K=wW^0aW&p8?~<I*yQ zK<S2r!P|ji2ShJ+Wax0V*g78*^b#4Tu&t9>mPC+|bP|@yG;&}RpyIKq1PYbnJT=I& zl1Zf=qA!4{Mfp}^z}HcW6jox?AIzDs(x)EcXl*pfI3;RfS76kuM>SV123aZ5)D@}d zLKBBWBg>;!U?7W?t~)s%>J@jSC@aDNaPw&3L<`qZV(}9FqHvMbUMHAg;Q)xTg2z9K z&UzkHcRRpx;gqPMLJ#|DoCHH?%bRd3qR5pt{K*<2DmW0-e}va6<#5)4R23*8zyW;8 ztP|O}{l!|zg^KE`rD)-uqh?TBKdZc^#A^Fj5ycQwD{>Q6YnsozX;}bGW)~A_yizo~ zvNXn(5pc3HEL(2OFeMmM8<ui1jjut>QZzv+#vLkAnL2lk_s}X)ABid@ltwJpDl*D# zl%*Yca!~Xo89JYS<J6R!4ZBm+c$B8ptWna&|Cr~n@Tw^Y&|!fYQbF++FGDP-T$E@< z%SMD)TU>5=B?O4c2(YC>Ve{hy;#{W0FbcW6tfnTdc5Eg0u_3+TKVpN@yux6kFNMG( z#Bc`0EHfe!A)JyLm=_?Ok`}}awyFW!9x&ulSr_=!Fr46!p^+dMg@L5%2LWJYFw|XW zN~Zo^QUa?~y%Qf|J|M7YUufi`%$~-uN%?Tt;^WM5Iy%<b+_>g8lW{G-S*Imvf|8A9 z@(`xBY_HxY8hV@{Jue-%@#1uz?ZTjNfzP<WLW=5a2x+NbH<nFaZaE@NJml5kIW_h% zX$dt*6BoP_7nOjf2~)QaZP{P>>vGz}e_S8I9OmOg9@)^!o?(G$6NYH3sx&&?y6Ej) zv6glSTM>bFWMy0o-LaaE6TjbP{tpPHj+M5?oiwS<WL+*InelZ!B_b2WKb|&s3%=(4 z$RFG1Xwq6FUmcz{m!<(n2n{1)B)MW?Rx3HmwCBIMy|-mI&^@pBVw*iIdM%)~YH(PV zBI8xEUQU^Zv~CfK#Q|pzz*DbGyvkUoU%wrW2|9TdM+jA7UFI5gB$luok$P-+!1Z$M zvi{}?(8w^YtggX=F&$0^z7V`p`6rkkS!i@@B6G#dO|@r^Ph-UMBq%bVKa2`Ri6w+L zshHhe1Ms)RAef#7vD;UuRK#F^N&o|sNRx!3=A}pwFDt=AyTl3smgk2RHi9^`Mm639 zL1Y7;@gQ4Suc(l5AZvLlm)iaCLfps4<(N`a%ghfoak3k-$3Bk4F85YfqQAlyN;3PS zm*q==OVMJV<sAY$Yn7s$YPRRzOYp9d&||YZb6V=9U`ssek78LK0Qf)8^vnO88|fd5 z*xPwy_(1>s-Iune#QMP-py!UWB3P$adv!ha(Pm7wi7#J`Z&7?{$<upwm|p#8ME$c% z%jA(ZdrHr4*x~Znxw7iXH*`JTBO`PJE}QXQshlG<FWi-W>%=JV5pn+@EL?dgag@Mg z9hT78R4Ls9hfD<KZvzYAZXI|ILIi+NiEe!l*~ARzP8lu{Zt)rOPcel1f@H#X$igTr zP^I-!(Ni3+mmWX)LxcUe_~P-x_JG_i8L;@%^=u{8+wB8Dd$z*e%OgX|*chU}V_0AJ z!}+OSBY2re>LYO3z=Ac15K0J^eFj2EE?-UXnaYt_&xQH_u8(cr!nJ=8^G1ddD6jqo zCJ$1R#&Y2Xsb!Gvz$L?ob!F?BP4GLdy<~dtb_8Ye20XeN*19DC$$froayR^##+q=v z3)hkWAGz#`(hM;SL`d_6M}B<G3=Ys5u;o-aQyALz0sv71;7inAz#Gy?z__Z5$U}WK z)(dGt_ctq}Kny_~C7qw}$Q=*v9{-q<=<2!oyQznurWNiOn4u#)Yq&jpR^f4zI{IU7 z8(`jjsIQLv&uOc_zj{e_XMdEK1;j^;rOmSjf1W0kPpW!n`Z=KXR~C8J!^bZ=VP&+* z?;t4y`R+R~fq>HmAc6gs2#nT-g46B8=s=-%^yCuRdX%kkPTUIW=qXbkfudn#vaAZ= z2~-YGG*yBdL>M{dA2jNkyhFMG|7QF?VG(UsIVold5VS&J5yy^ZS~i*Wn_4ns@9q?2 z84QjUGNpO8C=~fsGnFl$oaKhX0Fj}Y%fUd>u<Q*Z#A+QIO<CSsG7^Jjm1h`;*W2C4 zBgj-9t`85+Lc{iUiu7zHwhAI5$wq?-#k7dF$D`=!KSE5uYtysU)lC~~l+}k<rfMM* zf`h3<igaFY8(Rv9{Aqi)w}`joU79B1s1mnTe)-ZI@d!~FQ6E`X$^RTuLTxg#ZnLze zr#|AS-bl(8SaF+4+jfGq*buTqUB-HAa{ffA`o#gEK02I|y@ucfreudx#l2y)6aF7X zRXm|r<ufvUKApP(sYa$Oe(+1shLw~yi7_<Mp2k=3ASF})X=NyA^~8miC%<b)-7c## zu-+Y9S(L*1H@U_I{ac=#MX7C}SJM^JA?@=atr(gdIJyR^niGn~c}0gzEQJw@2B=eN z06;xQM})Wz?2wk%H>eV0r(82%O}EtJR)M0<nKK(fORaQX_CZvRLI!=yn*}ot6;50( zbm_a?%Y}|TUMGhIQ_m2I9Xxr=G7*T;IH5oe3#X7oRQ@4pk9E1@TlC2|{o`r<-%l#3 z6tbV=qiH&>a-05NM~3|W?a1JTp`)TN+t>%h4LeZa96>uOLg0Dj`38$BO8W{$2>TN| z#wrr9lu+?#5kS=-!lD?d9cxdHUPGu2OB@{Mrx7ra+yJZ~NU_7hML7E)j?{?Z$Clhr zC_)&lOPoUFuy~Zj<ih`v1}Y1Pm}S7(5UFaGIb49j)k>KYA3aBE%Q~lRiD)bxxkf<j zd_y4`#P47T3B(S3a#N|1P3n|UAnU}Sbl+442)Rgb$Z>EGgz50B^lv<dAJugq)XnM4 ztNgzLxVrtF+!@g^vbf&xJ{pOS7xr?vx)tnbdoN_C*b*6{o3S%p0=eF_bNH)iOOtri z*$thZctE(hJTMw7WDhS{NJ9d+-mFG8zH~PL+LuQc?p;TcdA&7y4q#WhBp6{r-9i!^ zMHJPR7!_$X#F&dT!Y_4cX|}tGm$Nn#C$V%&ec*xaD3&)<JkO#Ptj5`aRo>bKN|<=| z{8o5X+&T~cn^r+WZ?KQ1bc~nzVx|0NzJXP?3{4WJ@wKo>3ANt|rS?J#*7nQX=0p7{ zZA07t3V$7sR)?2tMc)PWpPKO%X4Fb@tVe=Pf4a>WwJ|GOr+Xa+Sm%>72VSyGeV-75 z^A+(LVUsSe21cMR?|AFYL~Hb$i4Wp<>(7NO-M1YdR>RgOk(+tsMt3VH;?=s!cyHe< zRGV}w>u{RYI&_Ky7->yODPvbYXq=HvSpr32M?Nzc<15c`yCc``Lyv-sZWa=u-1!Q0 zC+>>iXveM{bOMfNM_lAZEpdiN7z~z3h*FxV$r4VpMU|?;fS@susCl8nMWaA45g4MB zdGltnYqAt-`)b9K2$d?_WN-@c=>Uwv#3312ZEB&Yq>_wvx#LM>ny9S{LK-1hKtEbk zTqS}6EFd(3d<Ao0F9$6OgYQruK!6}pVMmby*2qm=Xq%!WMXtv@_uXX%q$*v2d{?nT zDR*gDak$(dw8_X6rIRPGlu-8U3=e$#H&oF|!%dB|w}>FEf6*v6Y>?=78K;5t+H2r+ z4c8zT+e*wbWC|Rov4KHXstHpH=YbRCECkf+5RmOoUo_O3<1L)(%s*Uk!)P<mq<>Z! zhLs0a1<{xxz+|w|878H_ZFzzwf5TCDjW8yH+Td%`QFpbjilO`rks3R)a_5M8Vyuc@ zR}@IqN~)}NeN;Qb%B#%^$cj?oChl?4Yjj&V8dK%3CPJh30n$9qOG;`a)b6?{jA&HD zcHzra{V)go?pEwE(C&bpRgK8(LHmWIM{*lP(_wehVdfJ!@j}?}bFNfkf?u-|CPPLm zYYD<!2qD8FSV&8aNyG$DLq^_1M!f0t9K-}zm8&7cPn4;k(czeW@qRE7R>>K=@DUVX zkYvPVs&wHr#O5raF6n`}-7Rtf0U6~#b1_Vf!-`1KBzHL2MvMuXjjSU!#z8zpz~e=N zdH#O&Ad?z@n=qD|Gh>e%N&`}R`$C<#)C8^&jxdNw+$zhtLEyq5(9q$wHEoFDmrNH+ zg%PQJ2Z5!*Bj8KZ<S>6x&<J(2DIorWcu>cNGx0R4{(LR3n~NAKdxe5y{6j2Us8R=l zVH7yjnkg)*ZED;AegKQPq@JdxlaCI#d_Y7?DhiZ9kNH-HXv*(0OhrmBV>%>aM`ql( ze1E)BM()O<y!~rWsqldqJI~S@a|C@5fX)*pZzCjbrM7N$2#fKZx`^m3ZNo9tC_&q0 z`=oHQBt<axJ64MVl#6WL@kiCYn{08=x+yK|{I&x#l%Eb9(zebQ+46q0+9?>2MOygy z(RlMUZVw5pN;8}5c!*i8GuEpoKRAIs=63%zCq(l#kTaWoGxI`#Q+<GB;XH&-l3HMZ zq6VZ-6*wk@kI(>>DQG@<De*oyn84ctTi@KcmC!(V;wpp>7QO~rle=P~##y*+ytL|$ z%LZXtCn+_?MqY?9zu0#GsbCn+((q$c3ehGUwfOIE9AOPA|43ToXuCgo<kNRXCwXE# zVHkk<al?rM6$};v&pU{4TL#)K{hIiQqBJjvsFdt+C5kBn?mhU}T((dYQfeib#G=4J zFj1I;qva*ba}T%PjyqJ@6y{Z`U(_Tq0LzRTsYZ}rA)`?dpmYJ4W?GHCnbYvJ|MQn6 z4&V8W#JjXTrT?`+@U%I<*XoB&Zagy?Ok|ab7nZl;MD6{SfXo`jnO`?1WW9t33kcs& zBpXVGe@~LWjITZvPdwv0?bVjgb`u3KUcITWN~GV+`gy+G9`2MvkMePG9{9~xMU9E9 zba*{h(nIsR*=D6GZ0s~E9Zdm}=%ZG*ubJ;45{82%fBFZX9>4}Q4UhL4#lVpK|DB`_ z*o&m%^FPU@4^t}~1by14519)yc=hf1j1B4CCP2Pn4d(ZVXf2@{v<)-HNiqBrPs_1d zm&O4Z2uG)3aSGEcX9(R(C~UiB8pg?Qf#_H#$FANU*GG#EB~+&SyN7ILMr=`tj=2Rj zD`GLc4dsQ!6Uh+VJU^2cIy-f6^{#dHEfN-m2lQ+?q1RJ+f59uX)Bb)x!$Fn)Hh+#; zpud~em7IsuSy6TeT~M_**p=uhjruQT{K|^Zn$2WpH)82dUL}U6)MMl-TCoaqbyN0} z(rTCjZQQCy&SIS~>kkIw09v6|Uhh(>LAwvqCzuh)r`euBoMK|(nvkLqu!w93r>mWt zHep?FMLZz{;_K-X+hzhr?V-Gq<lz02-hK0L1~sy>XJtTvoSCV!w*R%)0XZW-zm1^b z@>5n@M#u%7jq~|UEC_#b+tdQ)BgWA?D?7X_jRf8?%{Sk#!s#T}6BvkBo}fuy_#Nc2 zUQ~Yv*FS^_N$5Qxq@5Ky2oof!JED3%PNEgli5UI*eLg0Stba%`1uR-b%jCPoW#&tr z|CFF76;*q6C6qH(dPRukX(ULYMg}icRCLU!YpRWZ4WKqJcSwl1R3b6jFAA6^7ETPP z9v3YR`Pk(lZR)Q;jv)Q@8U~HJVRRU149+5E=@CH+>jA=-GCHiQh;1&=rKMkcVuD;i zZC39vu4Gw&3VDo28a1DgSS$rI4q{3m5>~yi!8efv--A+|(%A<p8eKSw(-?$9#%5Ro zVT=GG0eKv<;d}y>L8PD3xXP(JGTbwuA{Dk@mpSh^h!ggYlv&rbt8r>!q|J|eLuD>q zBRgriFT19pw(o#6(XyZ;f=le%EEXw4(St~bS`nbN%`$Jd@om+}9<4-<X~KF7L(E2U z#SXUOYC<L8K!aC?qL)b>4NGsWIA9Pq8rcv!NKlEO0SgutLm0tmfKX?s%b?7|Du~j) zz^8TOQBo5_5GD9#H8BJyh!NCd&i3aPn2$@xboLE0$B~=_>NHBa<n0vc(lA6w0yyCq zR6MR2Jhd3%gNL?y`RiDpgTu-2QAt>nondkD(w1|!t@2EHL0f>^x7pnFZ8mTJui4By zNA+V_(_*s3KR-ULtwjb$cr!Tf=o;|`AKCpm5W2M?{CTYYyq=3m@$2L|er=O{^b~WQ zwW;Ik?I>EVd;jy_<HxO*x^(lzR=uV=c%NV&k`NLS;d80N4pIFMolJ+|XUX#zQ=Pp9 zuRuK}wdKkZ!!2&X60?0|JWF#~BD`I$4dT7X77jf5fykBwQ_IXs+SO}lTjvp6-Fu+U z;X&HJK6;lMp;jq`1LP_KXqXi@Of7m@4OF34RyANfSj%_)ZR8eWSF3QpBJ8ymzKE=! zrPHs-vqc-Q^W<$mCc!{OU3K#mL903F>WR}&*B}cD1>Ws<^*Gi~O>LtE|IhhHbZ3q2 zSyzwSZHDDrSC9BV&OZ!Z{xte>8123N7!J=>lXV7Bk}>ncJs65ouvBDVvW}QggQXsQ zi~vzbnq3e^z?8WC(im+DRuFoNKz#ZCkW(N*HHtLE7%f<FoY*i=7ozE35vX1Pl>JjF zaVH&q($F$BX{>CcBoQ>O&L0FcMMk;XVbQI<3C70Fyow(QMIE)*iD0w4FM{4wr1;w# z-SlEHXv(1PGr7IVL6Y0RTN0WG+m}nd#C3w%-P*a`&Z?xk8N1jjyz7l_?f<O!mNY#c zZ>mrQ*qmP8g^h0f>VDJY96QaJk3SS?O&4_gzT<sv^U)cXY;S0G8G8r#M{OG#rmdjs z?dJK_RW%cc4fXh!%}(v>>EvPHZwk|Wb_F+?zM(Z<yuTT_5dUm*12FGQs|XU4X_Afd zcz-K3I9~T`xSV>P>*Nal&f~1xk08k54R<;9-PrMkQ8$w!Q&LaK!>AGr3=aI+@#!q2 zaA*XTEYfsj8b!bO=E6#g=y;N+o`{)}Qb(H6sgc*Ywr6hRd7|%s4{v@AvdZy0P=V53 zxlQRK&@NFA)W1P~5hS&wiFVOAnG>wR4yx_(`B6K}?qi1|fMK9*#;!bhxXrTAE9nkS zM&(&XMGTch6g>%TJ19X-BebN-K{_x214cTOo}8isf`kSoY4ZksnT>`VbK)taq^)@( zA+!XpM?^5BBty93SwtnPbPz_mF=fICP8tv~EPOS9WIeVVlz=fF8jzqCiP^yShl2q* zDV2uQ$!6I~gOEIq`unpbepEtJkOTJp?EgpV5aa$=>I|2WFwodl(Lm7{gh-Wx7Zbd8 z!4WGjYtEe68tqK}5A7)bM>~$FfNzayz%q^+a5RcY`0t4nrtW{RgY^wNu$VmZ=m(P+ zrD=AP<gmx!!l8vwq|x(ABwV&$0e5!k9Q>cU8=-=!53H+QlB7!gkM(}l=;%4GS6;@# zDtdm#3pro~af>7M5t)h7TW|s5=B@=G9lt>SundhlY86*O)qrUJ=jFyn@|1#9aK{RN zJgLD2RR8lUa(Pas`Y{04)>{c`9SyDw9s|J=3xkbo0<I1ogF#vVwO)f~sE=fSx&m@P zsy<^f%kJHpeXnGrdG5*maB<Pw^_0@{)r*I86Ff>`sq1bYe|DgzOw>;~zNN+@EM1`r z2w};f<=|DHmd&{lP;<)#wu4j^iaahI1NH=Z?e);gFGg2P8V(C@yjKe8#+pdFMj=9_ zH5AA+BS5>-@Gm@%;LhN@T*`xOUX~Q7A~m3$G_A2KAUWK6L06K91GChXv!pb^!`Sx^ zMSI<wAV4q!HvLuyCQNm!F>9%CbBIs8m`<Wl6WQ2UH0%%~I^ET$TVHqSB07UIY{rf2 zHl0yiAX(Nv1W<wIBf8SA67zErZB!>+Kg$uc=3Dn|9z>Vb#X=tRmse=fVk)W=Tnmco zXjC2hxEt<gDn}gqaK-e5ms>|<Gzp!zPz=#v4~H=fWiX*Z%jPRgl7wNIjZoYkztOIj zZtMJi(GISvC_-{V=r~<PmY5F~9s|zk8=OO^^xzbq+;@FPXekh%A|=yqGgLXG2x-Jv zAQ%g8Band{a0!?9Loru+Tl$XQne;3L>g@Y@{Hl@zMYYzBB-SXTmj=AA<0?z2X^%b^ zuB#u10~vp;J$}_ycT#{De^gHbR)c>dm<1JLIlQwkduXvxUA^Ps2aoVVjQwiN&RaG5 z*|WNDM*ZJ^s5H$enU=d|D*qAI?*{yB9vb)>c@P@Tk`_5bdYptN{1Uk%g+vv~$OECt zQRz-SYA$Yac>b~MeLERV;-L1SNeKuCObL3WT+GN4sN7U@w_kU6$-MQ=Nt|`sm_0LC zn)H&y9$VjjV1LERmp-B~G_ePKP<!q~kO#AR3fz==SyW7(Yt=t=E*vG*+jek2G-UKU zC@*y?RnwnS`N@rJLh4s;nBu5`nY`26{~3GPBg`()4epNZEvP$9cxG3qS@4&6o}xcV z*ak`u-7r~(KxYt(I-fp&Z&}v$(ji(xvHiC3ZiA%7W-wPwni1A=mDEaMks-s#YO|D4 zna8@SYO{Q_W1Po=v|C7M6;~}1(!ppEe|AG$G7Z=)diyz@M;(jhU+H%icM;Lh2aKaF zvSjWm)|MDv{-K^?h4KU|Clz>-6MB`K02XnBAcD{K4gHqE7a>K$*1@z@5K@;R5>O_? ziR+aYtG~zp_CTZYZfM%!BU+s>#D(jNbBe)zvjU~<G;~yC7Ho7t<O$25V-N^>Kx9+K zKOP+~lz2wtQb`Xf4_mULHM7NRRx6qnp}zyvfz+gIe1A2A9N8iQf?zD;sWDvQENh@; zNFs@)U}HtNi$aA+)`hJyM6yd61TkpstGzM6XsmBkmL~zygVM_NqB=dwUW}ZTFj|Jm z6q;@H4O*u1pb#8uVA*w5i`2p;66%PWhRy$hKpqSYELb);>iYCAFKoY7HrWim)S4Ff z(qcBurln<czC%A~Mu}S0`T;yBB?r;o40t?Atco?ni<OzCM|u82Rj_4VipRFwUd0Pc z)^l0<O~?{uV&estqL~PBN#%$`T_7##dVr>Dv+;swxC{?dbv9?65GaJHoA9r8rfvXo zVHLYIR8^Ez!U|+$;o>!<soU^x)<}EHle|qOi|egaiHuH8E|)p(nT3x`@7e#yA7=2D z+b5U$F+dXx&CE`H5Ic~fihq`CW!~)#!3>#!Mfjh}7{W30|B$=67pu1fDlw>Ld=9iq z!DR||T%a6esV5p2`A||1w6f{~sRG*&)?O<!K{NtvY`CM!(NdT+iU^I`gl4lir{M_5 z&Gj&EmqE<4M{KWZmfBc!c(E~<;WO+QXzp4v7_^J>2!=xFwB740g>mR+!MlsZm815f z((3dVRQS!%>MR54w88qm-z++a!s;k8`+|#D=5P^*H@1Mmq}`3Iv(!?g1n-NbXn+6c z@Sr$=c>FxXB(Y=0t|yPWGt%!N)q+Se1t`e>mPnF|f*_v|N<v_CqiK9i4c{&cWo9^u z0HDs*ag=YZ{EavdgfWtVbe<km9;1d`^99AF4Jpx2q2<J<7!HDv7oSFB`*v`!M3M)H z3mZb_AwZTXKxVEUsa-%f#vj3o^n#7RU_+8W;HhK@ps8|tkVKS?r{<Wlk`o^4gUY2g z+d@ne&xpv$*U*ycsv6RkS1YPOWu;a@#}5XF#mmXbZ6>n=LrfLgO5Pr<9iUo~hI=QZ zf3f(}3Lm?*#HL)bBDS(cKJpdV0omvqra{@Z=M&0UW7$CQ+=Iik-J`;0kxQ{G*9j1x zSHTn{0ci2Jls)vl+Yrkkf1QmJ?ZliU09;BhZRD+37#3OTITNz9z@9_7-Hs|x?Rx$C z*;Pm-XCF$4-c5&Z5weBs<tf+be(^2gdbptUcDwr9{9Vlyeg#VjMEv<pDQ!swLfa&G z$OIyz8~{4s6{ULyr4(9ed{C(GzlU0YN2}INu5oAtejTz%fhoI2_Kvlla2sY|rxx*V zrb>zy;$LV+8<(GrgDaRHXn*eJtqt1nvCKv?f|(L#w+1FU#L+xCfIL!IrKUQ`cm+E{ zSOtL`Ad-fWtZz>YE!`*}9Tlm@PDUe9^fSm$qDWr4F}!)I0djP*NB;Mp(Y)7xMr)>< zp)-WrEB^79?N_qCZi0l4YJTzmJb89CraV2|2;y}lHZW4%@G#k6;4!O%n#Wx*;DMAe z(TfJNkMJwLBB1_`J@c61{wanGnnhDcU*G_)hlM~ArcCI{US#*rmD#-x<DFUX8vzgI zcVw)=e;MRv_bs9D!dKTLb|1olqzzdU|9C$y0%8Ee$G4(1|H2iAEq-CSdlJUi6$fAG zZ>ku_KA22wkHfsMJid&oX7)`>IA4#cg~iZ3Sw{bBZ2e~*N+j!LBta%v_Uns)fv-1@ zQ#Rj@uYK=*T{{jd$K&GC-K=l=!|gehNOg^+a9tI<H&5pcke)m^lAhif*Y80vn^-T* zH4#=w_0^t9>D_3GHG)so#7o=r@cWJI=~rDO$Eep&_I&w=Wg^YUu{>HnB=O4ytY^!q zCEn5E%Dk_?f9$^p8|8ZB+b}40|J~1JPk@eNMdNtLnMNwLh}3+!a$k)63uUXGw%}cO zOKZ<p*UjX{u#ND#IJvQSK7HSb7YD2H>J*er>9H5AAw1YV_vMy+Jc6C6hg-!$=O=vo z$=Ntz$$o1wmrsF>`}#92&SEpY*0jwTw1dfHHAXkut0~P>M6s;zqEpgF;BT`ITm4fL zXjjXg?;~=28AtI_@!+kk*VVnc-VESK>#{oi-_O=c?s%x?tb0qwB^S*&%GF|S2fK?} zHNhHA=%iHZ#^q#u#iwlocjNS3-SL@eqUveu&lL^$4u|!bn#E$___Bv>lMSqD&#KtR z)siEkwdTsx&oo#{2MkePZXV8LqL)iQn_z*r{mp{sxQ@1qc0jxOdGp3mV!e6e(#psh zSL0L_OH<0DtB4@O<-2fC>*mXua*O((2teP=r7Pgzd5+L^kGXl{-##dOrBsggt7b=C z6I%<%R4O5MQkVc5EujwWdQ@2Y?w#A*t~8AA?d{>6KO>{yC+}x`)YeXapZ9ZF_uFXs zwZbpOLdo0$$==Un=Zsw1AHMC<&t1!j6wy#!%hhX4OuL_VCwnZff)&>FuUCgeiu!5u z&jP6oA&u8=RaDq#cxNj8y`IlgV^w-IZ;bek21!3$l@uB0IS%r7eP17EfIPj@NX?v` zT5w@6O9wCL)iONKW_;_{VqI&waaX(S^Z5cDnM>I<qPKWIq7d3d7p~nZir?B1A1d1G z4fK4xvfXIZi)9xE-7Aq409!ygU@4exF;U~-Q!$dlaK6I6WdYrX*RA(zHcZt*b{H>e zJ5aTAKck1cY^}fFPjGrS<yd~3;?mXa^Fhs6(geN2V6W$`)%eEi{`&5@`RnueqaHh5 zF}eq-IN1!=M(@g4(M*qh6(G>}IX0H1cX|BvVK$(T;I(SywaV<hY??xD(k)<zWCORm zhOw*P<Mnvb`jcgPmR(Q&(#O>BX8mjT_PD&ge$SwXz`Wmi2HJPhKi`=nY$N}=g}iI6 zI*;dlQ7C<~Y-2^WtjXc)?#?8A4Il0#tI7+GQ7e9Xf<+I5zt2-ngsT3oU6M}L_g=x{ zbUfXr1y`d=Et}u#y)i3Gfpg+Ay}5MPRsUzcuTDwx#vKiBw>-V8yxS6R;_m%ekA@J_ zrhW!lpnp_+ZqNLlsWCTe?vyj%pI$;De$F8F;Zax7es06wZ%fg7_IKIXrTukX45|W} z>g%<PNF+&2lZo^y@2la_#*jeete?;q6QJkSLoeFyhr?uXT!W?jwE#)=bOt&aezU+k zJ!fjA%J3bXDqwR|A`x8VT@os$ZzCq@+gLPinRb1~(uj^_K0lOR=;ilzsUCY<{k&zA z*SjikdFzjt;yA&1$-k43u|^e82jP|1fAvW8=5^Zx_<bwp)K(d-K|*f*nosEuSxAGb zf$6jMjqSL)^314P_f6-o!Dw4Pu_&S+$cmF}0=IbCrE$nlJV25Sn{~5eS}poVpYu}Z z-wf(!EWFlVE+1FJGajyLLG0~D97uoL7apzcZ@eF#p0P9MEEXqaE;2C*d+Ty`!X-5? z&;@*ma(*Wjz7)_cW8Z9D04-Ufnst_)Ap0F3g5pV=A14zQB}`CTK`Q^7ODwzjQOEp^ zGb;jREy~nb5X>vwa=958V=RCKiGa#9W;5HQP0hv=mQqfVL;kt|6`{%}nq#PtV~#+> zs^Gz8D`BS`6|oW&xmNK?45yTNd2lw_%7sOR0Of%S1r}O-q@XbrY0%;)+*G)Tl1*a_ z`C_Rg*WT@FJTo<Sd3|@fd7s8XOd&Yp6@ij%4?`=w4U;2K;uW|Oh3UwngrYEE;uWlt z6s)LCd6A4=eMzQLYf`tv(F-QrqBfu(2u*<6TY~eEuvjGX*eJMA)eos$_dy0KH_}Bc z;uW+Kwo<36T02w~bl%9FFR&62l`GN7SZE5=WU6osfppDINfLm^2(E=Dtr*5(q8bF5 z7|pOQvj!HU_#gc&kohR^SQQ&k%iw89^2DOsTdfnTfbUrYz7Tz(R>o5BB&h^7S(skp zhs`ZvlQ7WAO;Yugt}oJ6j!NQBFcr6OHDwugk@r6(UW~I^Aq_F4aX6(JorbbvVveII zsUwhvBCPbw9IrzIEkZ?1hT73`vK~2QTy{p>w?JE~K(m1+q{eAPD14)kEW=E(I5R%u zYemVQapdN4#wjRr(&UiEV$RRSBM_EYXfs^W<nuKQSpZ#}?C-7w$|gdn`FfuIL^&&J zsh&h&>{LV|i7QT7n&ni+Fccygcosu;eaI$_il&n>=xjng6${eLG3Vw)hLg@PU`rS4 z<aX3GJpSG10po}>KwW{0EKK&K!R)-;J4G%OIEQS`jd(?IHc?%F<s#)Y;OK;%zP}I` zmU6@j82XwNjOkW;7$-$a%UF9y_6UBB7}!piC?`dT^2E6br(Yb!(K>2OCk~Ryg=V?t zpFC3awq7ifAsqL2vV=vP<ubg2TK*QTX{Rc(4?Y=&ow(hIbMrKkpG{XM(Y9%npf&-m zPmSh3XA4FM@o^GX*WqdvdX}HrYE$GLvmE=DsK`0-ELU)9EvqtQlsGM0(=T9_!K~c^ zwAnCORM09`_{A%iPLRM_yQ-;6N$bb}O;CngP{b*mjXoVwH|l?gY!k2EF&p65S3nDC zFvSVrU2QW!y74U1%}FC6jHpJ&mM#}{$0JC<F0G^W(qI)1?Hl2r`ayJd2Gh*=D6{ej zbRKlgpvO`~68GWg#9@V_%)aWk75UIor2W#vk?{>lYy&{|wV?>&QAsp2(m<gbafE6` zm5#n$oFwZAfKX=Npb(0Zo33JFiIdpGY=PPa5hC@{O{hVnzIDVPh=!iZFY;fGlku?# zOdV*aXhGGEL3BCu<RnlLD_D(1Ar^}uxx`omaNwqHFj~q(F+(SR#)Dw!GJ^F7s;hc< z-Vc(Ir7nl2CCA=ppSm?Tr(V>d$QjfoO<rtm?D(`hIN6)e7h_va-&+0Ntn`=4fd*J} zJqgdn?ybHye!X>C`$C_>4~sZIZRFl-9CflcJlHcCzb8KzmPRN;x88S$dQG+)RW=1< z$|lCwd9ZXb<sN(<nBJ^gI>RnTBEv5H;CmHa?x78;Be<kntU3gC|{2kFD^dvi&c? znE;QIoWU=ZyR|+250$nH+l|#dk`arwfBCr@RHsotkn5tjJ2_v&U2O2TjvnWjnzjl` zNq{5cSL)eGG|KSpCfQvg)h<I(k|EES9C?{csXXUmiW*+;Mi2Eh=d{aD&hE)}l!r2> z{r#~?$ETNJpx33PU_%SPm@5ORFB+KUI)R8jp0a&>amL_%?}<#m2}yYpnGBGj)ow3_ zi~DqQjyQa|t4^j?xT#WC$!~JF6Tw|hfNySF&c~j>!u?4d=i|sa53%B#x}1uAU2cK& zm@bv22A@tY$)Y@_F%QE&pKkP>EY7)3Xxtu8-d){fG4#JDzPBeZ_kVjjdD7W)U*;)K zI9<9Mmdv6*`I!2V-aTbM`DD=HKi>z6xQhlEvhH1EhIA}ZPkVNYUiMeDuH)ESPG(%x zum`f+|ICzvI_&0eaL0n_+8CWG@3^@LF#GpWd9GwBrvD03yeUvzqYSK_5B~W;-GR%) zTMjtw+Q}?{&nQTDK7;SpY`K_n8Oa|^Z~rqTuYJo(m68A3-tXGSGr)=gM+IYw=U%iu zwB>l?UO_p)!eOHMdnRmu19^JU%%j;g3;3t&Y{P2D&6PI%d_yO@OfoSn1%SkJpFxc@ zbrxQBPCZVJjb@kx&mV7HSCm}ndH?M}w`3e9{SJilxKHcpjDsOBAi6uDpO#-BR>hhU z!`PqQ;aqE9Z9SNZ-o6Cw>!C2na|{|t=j8sWh>oRY`y!pDHME6bc3QPdD@z`JI!>g2 zw;HCyL<$aJ-&^{#$cmhJ?0DblOSRK&FjMJVqVQw2RuazJ5xDT`q2OqryRwZ{D$1++ zAO+uqS+6f7fZyXKo9t$eBDadn*b{;7`3Rvr4Z}ZZs+T4Wb{X}ZdNM&_vYqM=xo@i4 zPG^vH*P!9MNut=Ofx}<1WlVXqh0V<6=gPTOJlv8#1D`!!a3+0de-Av71{adE*~3Qy zAgk!0-YpS4lfZU2XHeA1T?Hbja}3SdqVv_A94h6Nt7spBeY8%7YYS21@e<AbjQ3a2 zuNiOiA_pr@ygvo<Ywg?WJ##;LJf2ijO{FO_oWBk*OaQQw)1Vp!Fp-mMio1-h@cMs% zZ!1HIV}oY|3)wRs@0C82uiA~Fzka{v*j`{tPw3{dPLfU}h|mrtkxr9q=+Xk1MRUZ! zMMtJK{+PG6Ol<TkS}dJ5v$;jgAANC6t-8+QMS!~N+9aMU5b4?&qgt=Du67VV!bZDY zH_|D)U{%|5*|^tn%w~xtxjdh&e=u?-2ATI07eT12QPW7vpU%upoJdFf#6+FuiYB0@ zHXHd+ETy_ytGJ5FFX!@>r-*d<N8p5eVEM6$#`0|NXE&4ks}=%nRxv>vHtB(&7N{mp zAJs4n8e5XR?(_^o8vyeBUE)B*k=*`44>+80zHb33K@BTyF+tqy|9Ea1=Y@$uMq}QX z`EDBTJ~HSNQ}CcE&)-}Aymu==S(djC9nyshX&g{l4ou?P!$}kA;9`M)$Q9>wb5Y=N zCL*D2FbrYFRXzo9CR^*)A@QR5iJjKHHfaDx3Q4PlpVKl_0OIQJgo$P3_+Tp2dZN<U z|CBlViP_!~(J(s0T(8QSs_ms*`6w@bl<r<EJlNjTTI5T**PWi+$D7}(k>g&A-A3AD zC|2$KE0IE~!<MvD(@69C>wYdNrqU@DL?S~`c4=Rt;kIo5D|WR`o9E_0HyvfD6CIj5 zD%7R1C`FN5E%-+y;Xm%Z4lA+kx2^>G=n*L>Qvcia9WS(<Ix6lCmUA8oBaBWEr9_`9 zk-z(=ZG$tz2K|2iZMD^h*$5BzTD-WKTUi;kJEpVtgT8<dRzf{R!CAlj_`Gcd-gl$M zC;#k^&b?RVAa;$ahd-^1_fZ5V+_OD1Hq#c($D@}Ev;txSq-;!xeWJ6|9GI#6xVa^m zit_wMb4LsZOi|lYN~`*LNw!wr+>;t+SI0jVm~5DC63&dg0p5;Lsv83#Whbi+yE(^a z@}uFqo1kCh$qB}YI&{)U0lnIjl+c&zf<vlJkE`g7q_NM-(^0u(PAyw4tlm{TzpGra zU2d)9uI7(-p7L#ZdVg#^n&lu%zM(txcR8W+y#a513bbcFmec!*u1pktfs&;TA2uA> zHB+5mL?RKQ*phOI<A{Dy<VkWU3N*)>#(f(SetwPs;DThlphwf5EhWZ(&4--bwYj|@ z1;<MD?H!HIGk>_1k&VaH-su$b)W$Yt9ZLIBj+MLG@AfSWX_g#a#kA9#WRIqfT%tOE zKO^(x|J{W52%Viz6gL&@KvC77N;en&7;@{*T;sptUoINI+)C^0@Xqk~D9c$;XK|l6 z<L{^v{M)^9PVfTwcA93>Ey}oBbK>$`u!T(bvI%}OK~RqrVr|~4IZIiu>yxRWD6PFF z+4sE>@i%(##A|xbYUJ6+;YJ|HeK{%k2dvN^j@e=TR&-ut5*azOXTsjEsX)$AydMtb zyv^Z8cTZ#C-z_a>cg1h^Ho-4@y}}($k8^_CMSVH+w+|LW87(jN{7x%dethhu&|D^< z_RBu$pU5ZWJVkh&rJ=n?pRDtIbv74n7x4_H&wQI>!IR?p;>O-Kb-Ui|n6&Jw2_9Jr zbfUf(d%w4OH-}2ynAX_0lF#s8NU_0W!ODBvIsI9gD<dyy(N;WLHRYxzjf-9~1U4kf z^fz&cT+z^b_H)T+D|aq!VMQAE3t~)hE0dp#(YuWKx|<Fbz~hP`gBi*&CPCo28wU$H zO!8?2AJqb`uwZjVPHHRkdSlQTE{ULIRYxirov@-m&|F|EL?OM7WX}A2<F1*1%TIHC zT!WKqH6CzU@i(0#?hE;pD5n{hUq#3Y4g}NdmFRWTuK`~i@Rk>c$jGEghej5HcG$-5 z&OlT%l#APK^6+T+3bgH<Hotz)v0wDD{~FHBE|*n+9R=FyaiZ)<s+r<L;Z(|B&n=vI zJ=Acvr#s}nOW$x-)5-H)9GNQu-h!WaygAl#cSl)G_~o%?f$L3reoHUg9xrE~GkWQr zAHGxt|FH7w1?OyYZC(wB?#0|XNX=OMT=g$zkY@KbiF(GSJf4pX{3baZ^xwC>p#R^! z!it4jLVmBbHJgzCZ6^i+f&YFHGBsv0HF7m#G&R1;k$1os#~HKe^|adQqH&OyDQPOF z6?fZM+t|p1Q5K3QYO{KEcQ$u7UzT#xC3p^%MfMdXUZx`oj31~q0E2ZpScJ!BBnSY< zUbPvs>)o0bs1RZB^V4>)z4^ke?cw$Oyq{jjp3UF5q>=pHWw+}B#wt!9?Q_Nzk`Q{? zD3!N3LD*`cuQM_YW+mY1z~kMt_u2U6weY$1x%9d7IrF*VXZ&US#pi)9oRB^?q}%3Q zo_Mv(mvD9RWYIlp+s4bhbQAr7#Lb&}Wq#Q=+T>5V5k@@z6+~h4M6ETE*YcvE==OU# zO~!lnE$-TVb9NS6M{Cjn5ozWA^9y={145WGu*-KD&(*&=|7!xnj~s?I((p?%VdDCW z!&7ejXj9}WdF|@*M!(Jc6dSu1dWoO0Z8_DY*2Ts`Bh25L&Zc?_SUvlCCu#93_aIxL zc-NK(xW@52hi^o>JL);bbtHXu<43Enl}q^;)Are#nD3fdr<WOZ;>KsoQCK<Om)cjs zQD}MbpB8M+3)$GNWEU6J9c#P$wu^pEgWe`T=jU;^-Q%m(U#p-061TqZqLaJlb%a`1 z>KJC6Yu&THBl%U!mUXwr;$~;7qM(6(_k~ZJ*9va#-=F0@Z>y0KA7afMKl^(u6KCuy z?U5y8-X-dj`|S}0r_(rnjQ5J4F5dystHI4L<ua<Ht{CMrO0fOso|86FTrpX7K<L64 zl?#fZDD#U>*$!n2(_yVmOFJ%3PtM-aZmMwMn8x1V(TALHVqZM!1bsN9MIg+g-(gpi z_8ZmRE742bL%T*qxEF1Ie&2`Tv)`e%m3c>gOxF3(hbaP0cYX-)O<>;(hBL<SRci2o z<?Iv1{%~mXl%>YEkXni<6Mm5nk;i|oltk*rDnlTGF5iD&SuvFUCf~N;)TzXvV$BGR zdi2iU%L%f#ppPgr&~M$ZXvs1DGyaoEm~!n)XBC-zD`74CjY#qI^Q?Myoak09>%C36 zx&AC(j>POU!lDlDu)XuI7|bFx8|1kt;?fe1`zO7l@N3BMtfWWkhX!%0EVvBa3;gsK z4D0R77wZJapX1y8e{y;G{eIg05iM$E@3xD}(JvbqDp~nf#KcDy3S<hxuUrA=nSY4+ zk%eE9%Lu9SRlmoDb1p7U(aZCq$m{t&Z-D9ri&b8OOCu{H2mgqK6X0I*-^E|IAZ{Ja zIp*f}Vn*la%TU>8G&0$sqwm$r5*A;oGJ-F*=vNE81WfGVvi6MqAeO=#;TKi0%i_`J z-*IJqGV+4okxZ;$Yz)d8o<KiI)l~q4hJJAOf<eUIr(bxUV&lb|&-FrDZ{vN!THf|4 zY2xHDQ&MtSqJS1#I2!q>pun=$%>4o*4s<J+r74V-8u2rflu^~W`kFOHHxmiZ(w5|N z-#Swi@)vQb7^{ox(vO!|Cx2HHM+4_QHANOHBy1qf_l0`N?87Vdl0^vlML|2kR2e|j z9KNFdclQonh~5N)<Ql%(uTg-r)%#ymvE5_9&e~qiEJ_SN5&5MMi5YxI9UBB1y_3sw zmXaC@AIzY%k5_GVx;L}WuYry)i%L&{l@ibDvoCp)($9P=L@lBjbRxF-BWalI{{L$} zE8H*sSLSE}M*M`mfBqXL$vXcBwiC}BY<w%DD=c7hYqwgQ>*unI^JhDG{k2RNJR-(* zuJ*$9TRR>o{6DXnA-U(ls-&AXpa1t3{-2+9*7x82C6+;7{x6#l^k1Kue@k6p+k#FN zJx%tX^(Sjufp!Rd`Ond`;QxQ~fB!G+_&@zhIY`G${a^LL9xMM(=X{ZE=EQa5eBFsH zzs^6?=-;)lBg6QTmPDPeD%a2MuZ?}K8h5>Zo%w&h_h-GJ`@YP-{ei_>DinPbmx?Q; zF=i-;6^ok)bh9$^9!Ywc^cQN|n~VR~-qM|v%kk+x?;5^-{xyfLnDVXhnN{9hcTXhf z)pKXwsC<2;^X)Hd885dlxGydmsG_B}<`=LEU}R!oz<sm?upU4Hpo1ombznPU0-;<B z$V5MI0$De<N(Z4k%m$?j3h-tH9e2UN41_CzbfgmlgA#*pWpJR6LU?{rc2a6ya)yF$ VeoAVNLSj*JMrK*6f}x%P0{~W>QW^jN literal 0 HcmV?d00001 diff --git a/db-docs/seime.lt.new.pdf b/db-docs/seime.lt.new.pdf new file mode 100755 index 0000000000000000000000000000000000000000..94dfdaacb0b7999e523b80a81a87e1e38a2cc8ad GIT binary patch literal 82764 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 G!2BO>_Bj&( literal 0 HcmV?d00001 diff --git a/db-docs/seime.lt.pdf b/db-docs/seime.lt.pdf new file mode 100755 index 0000000000000000000000000000000000000000..c211124495fc7729f60c21acca72e266222be219 GIT binary patch literal 79756 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 literal 0 HcmV?d00001 diff --git a/db-docs/seime.new.lt.mwb b/db-docs/seime.new.lt.mwb new file mode 100755 index 0000000000000000000000000000000000000000..88e180fb12c760b5f885a0b9a39d97a0a33e7c66 GIT binary patch literal 17766 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 Z8F1x-M0AUjGg5OCi>(xjQ!{}y7Xb1JNZ$Ye literal 0 HcmV?d00001 diff --git a/extensions/QuestionParticipation.php b/extensions/QuestionParticipation.php new file mode 100755 index 0000000..bbc9bd3 --- /dev/null +++ b/extensions/QuestionParticipation.php @@ -0,0 +1,243 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +class QuestionParticipation extends Question { + + private static $subquestions_sql = 'SELECT * from subquestions WHERE questions_id = ? ORDER BY number ASC'; + private static $subquestions_participation_sql = 'SELECT * FROM subquestions_participation WHERE subquestions_id = ? ORDER BY members_id ASC'; + + /* special data for manipulation */ + private $participation = array(); + + /* EXTENDED FUNCTIONS FROM PARENT */ + + + public function __toString() { + $array = get_object_vars($this); + unset($array['PDO']); + unset($array['Factory']); + unset($array['parent']); + unset($array['url_token']); + //unset($array['children']); + if (is_array($array['children'])) { + unset($array['children']['additional_data']); + $array['children'] = $this->cleanChildren($array['children']); + } + return $array; + } + + + /* + * Wrapper function to be called from outside + */ + public function estimateParticipation() { + //try to get the participation from registration actions + $participation = $this->extractParticipation(); + //if there were no registrations, call upon estimation based on siblings + if (false === $participation) { + $participation = $this->estimateParticipationBySiblings(); + } + $this->participation = $participation; + //$this->show(); + } + + /* + * tries to estimate participation based on its own children + * returns participation array or false, if not successful + */ + protected function extractParticipation() { + $start_time = $this->getStartTime(); + $participation = array(); + $i = 0; + $last_position = false; + //collect all registrations into array $participation + foreach($this->children as $index => $child) { + if ($child->getType() == 'registration') { + $data = array( + 'participation' => $child->getParticipation(), + 'start_time' => $start_time, + 'end_time' => date('Y-m-d', strtotime($start_time)) . ' ' . $child->getEndTime(), //end time in action is only time! + 'number' => $i); + $participation[$i] = $data; + $i++; + $start_time = $data['end_time']; + $last_position = $index; + } + } + //if no registrations found - return false + if (false === $last_position) { + return false; + } + //else - extend the last registration effect till the end of question + else { + $participation[$i - 1]['end_time'] = $this->getEndTime(); + return $participation; + } + } + + /* + * tries to estimate participation based on sibling / parent data + */ + protected function estimateParticipationBySiblings() { + + $participation = array(); + $preceeding_participation = false; + $proceeding_participation = false; + + //first, try to get the question before with data + $a = $this->getSiblingParticipation(-1); + if (false !== $a) { + $a = end($a); + $preceeding_participation = $a['participation']; + } + //then, try to get the question after with data + $a = $this->getSiblingParticipation(1); + if (false !== $a) { + $a = reset($a); + $proceeding_participation = $a['participation']; + } + + if ((false === $preceeding_participation) && (false === $proceeding_participation)) { + //case when no questions had registrations - return Sitting participation data + $participation = $this->getParentInfo('getParticipation'); + echo 'OMFG! it exists!'; + echo $this->getId(); + } + elseif (false === $proceeding_participation) { + //if no data going forward, assume same participation as in question before + $participation = $preceeding_participation; + } + elseif (false === $preceeding_participation) { + //if no data going back, assume same participation as in question afterwards + $participation = $proceeding_participation; + } + else { + //merge data from siblings. If member present in at least one of siblings - assume presence here, too. + foreach ($preceeding_participation as $member => $presence) { + $participation[$member] = $presence; + } + foreach ($proceeding_participation as $member => $presence) { + if ($presence) { + $participation[$member] = 1; + } + elseif (!isset($participation[$member])) { + $participation[$member] = 0; + } + } + } + + $data = array( + 'participation' => $participation, + 'start_time' => $this->getStartTime(), + 'end_time' => $this->getEndTime(), + 'number' => 0); + return array($data); + } + + /* + * helper function for Question::estimateParticipationBySiblings() + */ + protected function getSiblingParticipation($direction) { + $i = 1; + $found = false; + while(!$found) { + try { + $sibling_participation = $this->getSiblingInfoByPosition($this->getId(), $i * $direction, 'getParticipation'); + if (false !== $sibling_participation) { + //if found, return + return $sibling_participation; + } + else { + //else, keep searching + $i++; + } + } + catch(Exception $e) { + return false; //no such sibling found at all + } + } + } + + /* + * public function, returns participation if already estimated before + * OR + * tries to estimate based on internal data only (calls extractParticipation) + * else returns false; + */ + public function getParticipation() { + if (!empty($this->participation)) { + //provide data, if available + return $this->participation; + } + else { + //else try to extract, but do not go into siblings to avoid recursion + $participation = $this->extractParticipation(); + if (false === $participation) { + //if unlucky, return false + return false; + } + else { + //else save it properly and return it + $this->participation = $participation; + return $participation; + } + } + } + + public function saveParticipation() { + if (empty($this->participation)) return; + $id = NULL; + + foreach($this->participation as $subquestion) { + $participation_data = $subquestion['participation']; + $data = array(); + unset($subquestion['participation']); + + //saving of subquestion meta data + if (!isset($subquestion['id'])) { + $subquestion['questions_id'] = $this->getId(); + $id = $this->Factory->saveObject('subquestions', $subquestion, array('id', 'questions_id')); + } + else $id = $subquestion['id']; + + //saving of participation data + if (!empty($id)) { + foreach($participation_data as $member => $presence) { + $data[] = array('subquestions_id' => $id, 'members_id' => $member, 'presence' => $presence); + } + $this->Factory->saveObjects('subquestions_participation', $data, array('id')); + } + else { + echo 'error on saving - where is the ID?'; + } + } + } + + public function populateParticipation() { + + $subquestions = $this->Factory->getArray(self::$subquestions_sql, array($this->getId())); + if (empty($subquestions)) { + return false; + } + else { + foreach ($subquestions as $subquestion) { + $data = $subquestion; + $participation = $this->Factory->getArray(self::$subquestions_participation_sql, array($subquestion['id'])); + if (!empty($participation)) { + $data['participation'] = array(); + foreach ($participation as $row) { + $data['participation'][$row['members_id']] = $row['presence']; + } + } + $this->participation[$data['number']] = $data; + } + return true; + } + } + +} +?> diff --git a/extensions/QuestionStats.php b/extensions/QuestionStats.php new file mode 100755 index 0000000..7bae11e --- /dev/null +++ b/extensions/QuestionStats.php @@ -0,0 +1,39 @@ +<?php + + class QuestionStats extends Question { + + public static $presenters_sql = 'SELECT presenters.*, members.id as members_id FROM `presenters` LEFT JOIN members ON presenters.presenter = members.name WHERE items_id = ? ORDER BY number ASC'; + + public function getPresenters() { + $presenters = array(); + if ((isset($this->items[0])) && (!empty($this->items[0]['presenters']))) { + foreach($this->items[0]['presenters'] as $p) { + $presenters[$p['presenter']] = $p['members_id']; + } + return $presenters; + } + } + + public function getSpeakers() { + $members = array(); + foreach ($this->getChildren() as $action) { + if ($action->getType() == 'speech') { + $member = trim(mb_substr($action->getTitle(), 9)); + $length = strtotime($action->getEndTime()) - strtotime($action->getStartTime()); + (!array_key_exists($member, $members)) ? $members[$member] = $length : $members[$member] += $length; + } + } + return $members; + } + + public function getLastVoting() { + $voting = null; + foreach ($this->getChildren() as $action) { + if ($action->getType() == 'voting') { + $voting = $action; + } + } + return $voting; + } + + } diff --git a/extensions/RegistrationLink.php b/extensions/RegistrationLink.php new file mode 100755 index 0000000..1e27230 --- /dev/null +++ b/extensions/RegistrationLink.php @@ -0,0 +1,62 @@ +<?php + +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +class RegistrationLink extends Action { + + private static $link_sql = 'SELECT registration_id FROM voting_registration WHERE voting_id = ?'; + + private $link; + + public function initialiseLink() { + if ($this->getType() != 'voting') return; + if (false == $this->populateLink()) { + $this->determineLink(); + $this->saveLink(); + } + } + + protected function determineLink() { + $i = 1; + $found = false; + $sibling_id = 0; + //try to find a registration + while(!$found) { + try { + $sibling_type = $this->getSiblingInfoByPosition($this->getNumber(), -$i, 'getType'); + if ($sibling_type == 'registration') { + $found = true; + $sibling_id = $this->getSiblingInfoByPosition($this->getNumber(), -$i, 'getId'); + } + else { + $i++; + } + } + catch(Exception $e) { + $found = true; + } + } + $this->link = $sibling_id; + } + + protected function saveLink() { + $this->Factory->SaveObject('voting_registration', array('registration_id' => $this->link, 'voting_id' => $this->getId()), array('id')); + } + + protected function populateLink() { + $id = $this->Factory->getVar(self::$link_sql, array($this->getId())); + if (NULL === $id) { + return false; + } + else { + $this->link = $id; + return true; + } + } + +} + +?> diff --git a/extensions/SittingStats.php b/extensions/SittingStats.php new file mode 100755 index 0000000..4e3aa45 --- /dev/null +++ b/extensions/SittingStats.php @@ -0,0 +1,274 @@ +<?php + + class SittingStats extends Sitting { + + protected $topquestions_sql = ' + SELECT questions.id, AVG(subquestions_participation.presence) as e_presence + FROM questions + JOIN subquestions ON questions.id = subquestions.questions_id + JOIN subquestions_participation ON subquestions.id = subquestions_participation.subquestions_id + WHERE questions.sittings_id = ? + GROUP BY questions.id + ORDER BY AVG(subquestions_participation.presence) * TIMEDIFF(questions.end_time,questions.start_time) DESC + LIMIT 0, {limit}'; + + protected $percentage_participation_sql = ' + SELECT ROUND(SUM(hours_present) / SUM(hours_available) * 100,0) + FROM `participation_data` + WHERE sittings_id = ?'; + + protected $full_attendance_sql = ' + SELECT COUNT(id) + FROM `participation_data` + WHERE sittings_id = ? AND hours_present = hours_available'; + + protected $short_attendance_sql = ' + SELECT COUNT(id) + FROM `participation_data` + WHERE sittings_id = ? AND hours_present < hours_available * 0.3 AND hours_present > 0'; + + protected $voting_results_sql = ' + SELECT outcome, count(actions.id) as count + FROM questions + JOIN actions ON actions.questions_id = questions.id + WHERE questions.sittings_id = ? AND actions.type = "voting" + GROUP BY outcome'; + + public function __construct($url, Seimas $parent = NULL, $params = NULL, Factory $Factory = NULL) { + parent::__construct($url, $parent, $params, $Factory); + $this->initialise(); + $this->initialiseChildren(true); + } + + public function getSpeakers($limit = 0) { + if (empty($this->speakers)) { + $members = array(); + foreach ($this->getChildren() as $child) { + //echo $child->getTitle() . "<br>"; + foreach ($child->getChildren() as $action) { + if ($action->getType() == 'speech') { + $member = trim(mb_substr($action->getTitle(), 9)); + $length = strtotime($action->getEndTime()) - strtotime($action->getStartTime()); + (!array_key_exists($member, $members)) ? $members[$member] = $length : $members[$member] += $length; + } + } + } + arsort($members); + $this->speakers = $members; + } + return ($limit == 0) ? $this->speakers : array_slice($this->speakers, 0, $limit); + } + + /* + public function getTopQuestions($limit = 3) { + $questions = array(); + $lengths = array(); + foreach ($this->getChildren() as $child) { + $questions[] = $child; + $lengths[] = strtotime($child->getEndTime()) - strtotime($child->getStartTime()); + } + arsort($lengths); + foreach($lengths as $key => &$v) { + $v = $questions[$key]; + } + return array_slice($lengths, 0, $limit); + } */ + + public function getTopQuestions($limit = 3) { + $sql = str_replace('{limit}', intval($limit), $this->topquestions_sql); + $db = Initialisator::getDB(); + $result = $db->getArray($sql,array($this->getId())); + $top = array(); + foreach($result as $row) { + $q = $this->children[$row['id']]; + $q->effective_presence = $row['e_presence']; + $top[] = $q; + } + return $top; + } + + public function getTitle() { + return implode( + " ", + array( + strftime('%Y m. %B %e d.', strtotime($this->date)), + $this->type,'posėdis') + ); + } + + public function getPeriod() { + return date('H:i', strtotime($this->getStartTime())) . ' - ' . date('H:i', strtotime($this->getEndTime())); + } + + public function getLength() { + $l = (strtotime($this->getEndTime()) - strtotime($this->getStartTime())) / 60; + $h = floor($l / 60); + $m = $l % 60; + return sprintf('%1$s val. %2$s min', $h, $m); + } + + public function getStartTime() { + if (empty($this->start_time)) return $this->start_time; + else { + reset($this->children); + $id = key($this->children); + return $this->children["$id"]->getStartTime(); + } + } + + public function getSessionID() { + return $this->sessions_id; + } + + public function getEndTime() { + return $this->end_time; + } + + public function getUrl($type = '') { + switch ($type) { + case '': return $this->url; + case 'protocol': return $this->protocol_url; + case 'transcript': return $this->transcript_url; + case 'recording': return $this->recording_url; + } + } + + public function participation($type) { + switch ($type) { + case 'participated': + return array_sum($this->participation); + case 'total': + return count($this->participation); + case 'percentage': + return round($this->participation('participated') / $this->participation('total') * 100, 0); + case 'time-based': + return $this->Factory->getVar($this->percentage_participation_sql, array($this->getId())); + } + } + + public function getMemberStats($type) { + switch($type) { + case 'full-attendance': + $c = $this->Factory->getVar($this->full_attendance_sql, array($this->getId())); + return (empty($c)) ? 0 : $c; + case 'short-attendance': + $c = $this->Factory->getVar($this->short_attendance_sql, array($this->getId())); + return (empty($c)) ? 0 : $c; + case 'speakers': + return count($this->getSpeakers()); + } + } + + public function getVotings($outcome) { + if (empty($this->votingOutcomes)) { + $this->votingOutcomes = array(); + foreach($this->Factory->getArray($this->voting_results_sql, array($this->getId())) as $row) { $this->votingOutcomes[$row['outcome']] = $row['count']; } + } + switch($outcome) { + case 'all': + return array_sum($this->votingOutcomes); + case 'accepted': + return $this->votingOutcomes['accepted']; + case 'rejected': + return $this->votingOutcomes['rejected']; + } + } + + public function getTopParticipants() { + $sql = ' + SELECT members.id, members.name FROM participation_data + JOIN members ON members_id = members.id + WHERE cadency_end = "0000-00-00" AND sittings_id = ? AND hours_present = hours_available + ORDER BY members.name ASC'; + $participants = array(); + $top = $this->Factory->getArray($sql, array($this->getId())); + if (!empty($top)) { + foreach ($top as $m) { + $participants[] = '<a href="http://seime.lt/' . getMemberLink($m['id']) . '">' . $m['name'] . '</a>'; + } + } + return $participants; + } + + public function getBottomParticipants() { + $sql = ' + SELECT hours_present FROM participation_data + JOIN members ON members_id = members.id + WHERE cadency_end = "0000-00-00" AND sittings_id = ? AND hours_present > 0 + ORDER BY hours_present ASC LIMIT 4,1'; + $cutoff = $this->Factory->getVar($sql, array($this->getId())); + $sql = ' + SELECT members.id, members.name, round(hours_present / hours_available * 100,0) as participation FROM participation_data + JOIN members ON members_id = members.id + WHERE cadency_end = "0000-00-00" AND sittings_id = ? AND hours_present <= ? AND hours_present > 0 + ORDER BY hours_present ASC, members.name ASC'; + $participants = array(); + $bottom = $this->Factory->getArray($sql, array($this->getId(), $cutoff)); + if (!empty($bottom)) { + foreach ($bottom as $m) { + $participants[] = '<a href="http://seime.lt/' . getMemberLink($m['id']) . '">' . $m['name'] . '</a> (' . $m['participation'] . '%)'; + } + } + return $participants; + } + + public function getTopSpeakers() { + $sql = ' + SELECT members.id, members.name, members.notes + FROM members + WHERE name IN (?,?,?,?,?) + ORDER BY FIELD(members.name, ?, ?, ?, ?, ?)'; + + $speakers = $this->getSpeakers(5); + $top = $this->Factory->getArray($sql, array_merge(array_keys($speakers),array_keys($speakers))); + $members = array(); + foreach ($top as $member) { + $members[] = '<a href="http://seime.lt/' . getMemberLink($member['id']) . '">' . $member['name'] . '</a> (' . round($speakers[$member['name']] / 60, 0) . ' min)'; + } + return $members; + } + + public function TotalVotePie() { + $total_data = $this->Factory->getArray(' + SELECT vote, count(vote) as count FROM votes + JOIN actions ON actions.id = votes.actions_id + JOIN questions ON actions.questions_id = questions.id + WHERE vote != ? AND sittings_id = ? GROUP BY vote', array('not presen', $this->getId())); + $totals = array(); + $total_count = 0; + foreach ($total_data as $outcome) { + $total_count += $outcome['count']; + $totals[$outcome['vote']] = $outcome['count']; + } + $js_totals = array(); + foreach($totals as $name => $count) { + $data = array('name' => niceVoteName($name), 'y' => $count / $total_count * 100); + if ($name == 'disappeare') { + $data['sliced'] = 1; + $data['selected'] = 1; + } + $js_totals[] = $data; + } + usort($js_totals, array($this, 'sortPieChart')); + return $js_totals; + } + + protected function sortPieChart($a, $b) { + if ($this->getPieOrder($a['name']) > $this->getPieOrder($b['name'])) return 1; + elseif ($this->getPieOrder($a['name']) < $this->getPieOrder($b['name'])) return -1; + else return 0; + } + + protected function getPieOrder($name) { + $v = 1; + switch ($name) { + case 'Balsavo UŽ': $v = 2; break; + case 'Balsavo PRIEŠ': $v = 3; break; + case 'Susilaikė': $v = 4; break; + case 'Neužsiregistravo': $v = 1; break; + case 'Užsiregistravo, tačiau nebalsavo': $v = 5; break; + } + return $v; + } + + } diff --git a/phpunit.xml b/phpunit.xml deleted file mode 100644 index c330420..0000000 --- a/phpunit.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<phpunit backupGlobals="false" - backupStaticAttributes="false" - bootstrap="bootstrap/autoload.php" - colors="true" - convertErrorsToExceptions="true" - convertNoticesToExceptions="true" - convertWarningsToExceptions="true" - processIsolation="false" - stopOnFailure="false" - syntaxCheck="false" -> - <testsuites> - <testsuite name="Application Test Suite"> - <directory>./app/tests/</directory> - </testsuite> - </testsuites> -</phpunit> diff --git a/public/.htaccess b/public/.htaccess deleted file mode 100644 index 77827ae..0000000 --- a/public/.htaccess +++ /dev/null @@ -1,15 +0,0 @@ -<IfModule mod_rewrite.c> - <IfModule mod_negotiation.c> - Options -MultiViews - </IfModule> - - RewriteEngine On - - # Redirect Trailing Slashes... - RewriteRule ^(.*)/$ /$1 [L,R=301] - - # Handle Front Controller... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_FILENAME} !-f - RewriteRule ^ index.php [L] -</IfModule> diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index e69de29..0000000 diff --git a/public/index.php b/public/index.php deleted file mode 100644 index f08822d..0000000 --- a/public/index.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php -/** - * Laravel - A PHP Framework For Web Artisans - * - * @package Laravel - * @author Taylor Otwell <taylorotwell@gmail.com> - */ - -/* -|-------------------------------------------------------------------------- -| Register The Auto Loader -|-------------------------------------------------------------------------- -| -| Composer provides a convenient, automatically generated class loader -| for our application. We just need to utilize it! We'll require it -| into the script here so that we do not have to worry about the -| loading of any our classes "manually". Feels great to relax. -| -*/ - -require __DIR__.'/../bootstrap/autoload.php'; - -/* -|-------------------------------------------------------------------------- -| Turn On The Lights -|-------------------------------------------------------------------------- -| -| We need to illuminate PHP development, so let's turn on the lights. -| This bootstraps the framework and gets it ready for use, then it -| will load up this application so that we can run it and send -| the responses back to the browser and delight these users. -| -*/ - -$app = require_once __DIR__.'/../bootstrap/start.php'; - -/* -|-------------------------------------------------------------------------- -| Run The Application -|-------------------------------------------------------------------------- -| -| Once we have the application, we can simply call the run method, -| which will execute the request and send the response back to -| the client's browser allowing them to enjoy the creative -| and wonderful application we have whipped up for them. -| -*/ - -$app->run(); diff --git a/public/packages/.gitkeep b/public/packages/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/public/packages/barryvdh/laravel-debugbar/laravel-debugbar.css b/public/packages/barryvdh/laravel-debugbar/laravel-debugbar.css deleted file mode 100644 index 2dd6c8b..0000000 --- a/public/packages/barryvdh/laravel-debugbar/laravel-debugbar.css +++ /dev/null @@ -1,65 +0,0 @@ -div.phpdebugbar { - font-size: 13px; - font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; -} - -div.phpdebugbar-header { - background: #efefef url(laravel-icon.png) no-repeat 4px 3px; - background-size: 20px; - line-height: 17px; -} -a.phpdebugbar-restore-btn { - background: #efefef url(laravel-icon.png) no-repeat 5px 3px; - background-size: 20px; - width: 16px; - border-right-color: #ccc; -} - -div.phpdebugbar-header > div > * { - font-size: 13px; -} - -div.phpdebugbar-header .phpdebugbar-tab { - padding: 5px 6px; -} - -div.phpdebugbar .phpdebugbar-header select{ - padding: 1px 0; -} - -dl.phpdebugbar-widgets-kvlist dt{ - width: 200px; -} - -dl.phpdebugbar-widgets-kvlist dd { - margin-left: 210px; -} - -ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value { - height: 20px; - top: 0; - background-color: #f4645f; -} - -ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label { - top: 2px; -} - -div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter { - background-color: #f4645f; -} - -a.phpdebugbar-tab.phpdebugbar-active { - background: #f4645f; - color: #fff; -} - -a.phpdebugbar-tab.phpdebugbar-active span.phpdebugbar-badge { - background-color: white; - color: #f4645f; -} - -a.phpdebugbar-tab span.phpdebugbar-badge { - background: #f4645f; - color: #fff; -} diff --git a/public/packages/barryvdh/laravel-debugbar/laravel-icon.png b/public/packages/barryvdh/laravel-debugbar/laravel-icon.png deleted file mode 100644 index 2ec0353a663ce1ec842ac8c7f79a2a2cce167d25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15938 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 diff --git a/public/packages/maximebf/php-debugbar/debugbar.css b/public/packages/maximebf/php-debugbar/debugbar.css deleted file mode 100644 index 1da6937..0000000 --- a/public/packages/maximebf/php-debugbar/debugbar.css +++ /dev/null @@ -1,225 +0,0 @@ -div.phpdebugbar { - position: fixed; - bottom: 0; - left: 0; - width: 100%; - border-top: 0; - font-family: arial, sans-serif; - background: #fff; - z-index: 10000; - font-size: 14px; - color: #000; - text-align: left; -} - -div.phpdebugbar-closed { - width: auto; -} - -div.phpdebugbar * { - - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -a.phpdebugbar-restore-btn { - float: left; - padding: 5px 8px; - font-size: 14px; - color: #555; - text-decoration: none; - border-right: 1px solid #ddd; -} - -div.phpdebugbar-resize-handle { - display: none; - height: 4px; - margin-top: -4px; - width: 100%; - background: none; - border-bottom: 1px solid #ccc; - cursor: n-resize; -} - -div.phpdebugbar-closed, div.phpdebugbar-minimized{ - border-top: 1px solid #ccc; -} - -/* -------------------------------------- */ - -div.phpdebugbar-header { - background: #efefef url(php-icon.png) no-repeat 5px 4px; - padding-left: 29px; - min-height: 26px; - line-height: 16px; -} -div.phpdebugbar-header:before, div.phpdebugbar-header:after { - display: table; - line-height: 0; - content: ""; -} -div.phpdebugbar-header:after { - clear: both; -} -div.phpdebugbar-header-left { - float: left; -} -div.phpdebugbar-header-right { - float: right; -} -div.phpdebugbar-header > div > * { - padding: 5px 8px; - font-size: 14px; - color: #555; - text-decoration: none; -} -div.phpdebugbar-header-left > * { - float: left; -} -div.phpdebugbar-header-right > * { - float: right; -} -div.phpdebugbar-header-right > select { - padding: 0; -} - -/* -------------------------------------- */ - -span.phpdebugbar-indicator, -a.phpdebugbar-indicator, -a.phpdebugbar-close-btn { - border-right: 1px solid #ddd; -} - -a.phpdebugbar-tab.phpdebugbar-active { - background: #ccc; - color: #444; - background-image: linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); - background-image: -o-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); - background-image: -moz-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); - background-image: -webkit-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); - background-image: -ms-linear-gradient(bottom, rgb(173,173,173) 41%, rgb(209,209,209) 71%); - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0.41, rgb(173,173,173)), color-stop(0.71, rgb(209,209,209))); -} - a.phpdebugbar-tab span.phpdebugbar-badge { - display: none; - margin-left: 5px; - font-size: 11px; - line-height: 14px; - padding: 0px 6px; - background: #ccc; - border-radius: 4px; - color: #555; - font-weight: normal; - text-shadow: none; - vertical-align: middle; - } - a.phpdebugbar-tab i { - display: none; - vertical-align: middle; - } - a.phpdebugbar-tab span.phpdebugbar-badge.phpdebugbar-important { - background: #ed6868; - color: white; - } - -a.phpdebugbar-close-btn { - background: url(icons.png) no-repeat 10px 7px; - width: 16px; - height: 16px; -} - -a.phpdebugbar-open-btn { - background: url(icons.png) no-repeat -14px 8px; - width: 16px; - height: 16px; -} - -a.phpdebugbar-restore-btn { - background: #efefef url(php-icon.png) no-repeat 5px 4px; - width: 16px; - height: 16px; -} - -.phpdebugbar-indicator { - position: relative; - cursor: pointer; -} - .phpdebugbar-indicator span.phpdebugbar-text { - margin-left: 5px; - } - .phpdebugbar-indicator span.phpdebugbar-tooltip { - display: none; - position: absolute; - top: -30px; - background: #efefef; - opacity: .7; - border: 1px solid #ccc; - color: #555; - font-size: 11px; - padding: 2px 3px; - z-index: 1000; - text-align: center; - width: 200%; - right: 0; - } - .phpdebugbar-indicator:hover span.phpdebugbar-tooltip:not(.phpdebugbar-disabled) { - display: block; - } - -select.phpdebugbar-datasets-switcher { - float: right; - display: none; - margin: 2px 0 0 7px; - max-width: 200px; - max-height: 23px; - padding: 0; -} - -/* -------------------------------------- */ - -div.phpdebugbar-body { - border-top: 1px solid #ccc; - display: none; - position: relative; - height: 300px; -} - -/* -------------------------------------- */ - -div.phpdebugbar-panel { - display: none; - height: 100%; - overflow: auto; - width: 100%; -} -div.phpdebugbar-panel.phpdebugbar-active { - display: block; -} - -/* -------------------------------------- */ - -div.phpdebugbar-mini-design a.phpdebugbar-tab { - position: relative; - border-right: 1px solid #ddd; -} - div.phpdebugbar-mini-design a.phpdebugbar-tab span.phpdebugbar-text { - display: none; - } - div.phpdebugbar-mini-design a.phpdebugbar-tab:hover span.phpdebugbar-text { - display: block; - position: absolute; - top: -30px; - background: #efefef; - opacity: .7; - border: 1px solid #ccc; - color: #555; - font-size: 11px; - padding: 2px 3px; - z-index: 1000; - text-align: center; - right: 0; - } - div.phpdebugbar-mini-design a.phpdebugbar-tab i { - display:inline-block; - } diff --git a/public/packages/maximebf/php-debugbar/debugbar.js b/public/packages/maximebf/php-debugbar/debugbar.js deleted file mode 100644 index 23cf5ce..0000000 --- a/public/packages/maximebf/php-debugbar/debugbar.js +++ /dev/null @@ -1,1080 +0,0 @@ -if (typeof(PhpDebugBar) == 'undefined') { - // namespace - var PhpDebugBar = {}; - PhpDebugBar.$ = jQuery; -} - -(function($) { - - if (typeof(localStorage) == 'undefined') { - // provide mock localStorage object for dumb browsers - localStorage = { - setItem: function(key, value) {}, - getItem: function(key) { return null; } - }; - } - - if (typeof(PhpDebugBar.utils) == 'undefined') { - PhpDebugBar.utils = {}; - } - - /** - * Returns the value from an object property. - * Using dots in the key, it is possible to retrieve nested property values - * - * @param {Object} dict - * @param {String} key - * @param {Object} default_value - * @return {Object} - */ - var getDictValue = PhpDebugBar.utils.getDictValue = function(dict, key, default_value) { - var d = dict, parts = key.split('.'); - for (var i = 0; i < parts.length; i++) { - if (!d[parts[i]]) { - return default_value; - } - d = d[parts[i]]; - } - return d; - } - - /** - * Counts the number of properties in an object - * - * @param {Object} obj - * @return {Integer} - */ - var getObjectSize = PhpDebugBar.utils.getObjectSize = function(obj) { - if (Object.keys) { - return Object.keys(obj).length; - } - var count = 0; - for (var k in obj) { - if (obj.hasOwnProperty(k)) { - count++; - } - } - return count; - } - - /** - * Returns a prefixed css class name - * - * @param {String} cls - * @return {String} - */ - PhpDebugBar.utils.csscls = function(cls, prefix) { - if (cls.indexOf(' ') > -1) { - var clss = cls.split(' '), out = []; - for (var i = 0, c = clss.length; i < c; i++) { - out.push(PhpDebugBar.utils.csscls(clss[i], prefix)); - } - return out.join(' '); - } - if (cls.indexOf('.') === 0) { - return '.' + prefix + cls.substr(1); - } - return prefix + cls; - }; - - /** - * Creates a partial function of csscls where the second - * argument is already defined - * - * @param {string} prefix - * @return {Function} - */ - PhpDebugBar.utils.makecsscls = function(prefix) { - var f = function(cls) { - return PhpDebugBar.utils.csscls(cls, prefix); - }; - return f; - } - - var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-'); - - - // ------------------------------------------------------------------ - - /** - * Base class for all elements with a visual component - * - * @param {Object} options - * @constructor - */ - var Widget = PhpDebugBar.Widget = function(options) { - this._attributes = $.extend({}, this.defaults); - this._boundAttributes = {}; - this.$el = $('<' + this.tagName + ' />'); - if (this.className) { - this.$el.addClass(this.className); - } - this.initialize.apply(this, [options || {}]); - this.render.apply(this); - }; - - $.extend(Widget.prototype, { - - tagName: 'div', - - className: null, - - defaults: {}, - - /** - * Called after the constructor - * - * @param {Object} options - */ - initialize: function(options) { - this.set(options); - }, - - /** - * Called after the constructor to render the element - */ - render: function() {}, - - /** - * Sets the value of an attribute - * - * @param {String} attr Can also be an object to set multiple attributes at once - * @param {Object} value - */ - set: function(attr, value) { - if (typeof(attr) != 'string') { - for (var k in attr) { - this.set(k, attr[k]); - } - return; - } - - this._attributes[attr] = value; - if (typeof(this._boundAttributes[attr]) !== 'undefined') { - for (var i = 0, c = this._boundAttributes[attr].length; i < c; i++) { - this._boundAttributes[attr][i].apply(this, [value]); - } - } - }, - - /** - * Checks if an attribute exists and is not null - * - * @param {String} attr - * @return {[type]} [description] - */ - has: function(attr) { - return typeof(this._attributes[attr]) !== 'undefined' && this._attributes[attr] !== null; - }, - - /** - * Returns the value of an attribute - * - * @param {String} attr - * @return {Object} - */ - get: function(attr) { - return this._attributes[attr]; - }, - - /** - * Registers a callback function that will be called whenever the value of the attribute changes - * - * If cb is a jQuery element, text() will be used to fill the element - * - * @param {String} attr - * @param {Function} cb - */ - bindAttr: function(attr, cb) { - if ($.isArray(attr)) { - for (var i = 0, c = attr.length; i < c; i++) { - this.bindAttr(attr[i], cb); - } - return; - } - - if (typeof(this._boundAttributes[attr]) == 'undefined') { - this._boundAttributes[attr] = []; - } - if (typeof(cb) == 'object') { - var el = cb; - cb = function(value) { el.text(value || ''); }; - } - this._boundAttributes[attr].push(cb); - if (this.has(attr)) { - cb.apply(this, [this._attributes[attr]]); - } - } - - }); - - - /** - * Creates a subclass - * - * Code from Backbone.js - * - * @param {Array} props Prototype properties - * @return {Function} - */ - Widget.extend = function(props) { - var parent = this; - - var child = function() { return parent.apply(this, arguments); }; - $.extend(child, parent); - - var Surrogate = function(){ this.constructor = child; }; - Surrogate.prototype = parent.prototype; - child.prototype = new Surrogate; - $.extend(child.prototype, props); - - child.__super__ = parent.prototype; - - return child; - }; - - // ------------------------------------------------------------------ - - /** - * Tab - * - * A tab is composed of a tab label which is always visible and - * a tab panel which is visible only when the tab is active. - * - * The panel must contain a widget. A widget is an object which has - * an element property containing something appendable to a jQuery object. - * - * Options: - * - title - * - badge - * - widget - * - data: forward data to widget data - */ - var Tab = Widget.extend({ - - className: csscls('panel'), - - render: function() { - this.$tab = $('<a href="javascript:" />').addClass(csscls('tab')); - - this.$icon = $('<i />').appendTo(this.$tab); - this.bindAttr('icon', function(icon) { - if (icon) { - this.$icon.attr('class', 'fa fa-' + icon); - } else { - this.$icon.attr('class', ''); - } - }); - - this.bindAttr('title', $('<span />').addClass(csscls('text')).appendTo(this.$tab)); - - this.$badge = $('<span />').addClass(csscls('badge')).appendTo(this.$tab); - this.bindAttr('badge', function(value) { - if (value !== null) { - this.$badge.text(value); - this.$badge.show(); - } else { - this.$badge.hide(); - } - }); - - this.bindAttr('widget', function(widget) { - this.$el.empty().append(widget.$el); - }); - - this.bindAttr('data', function(data) { - if (this.has('widget')) { - this.get('widget').set('data', data); - } - }) - } - - }); - - // ------------------------------------------------------------------ - - /** - * Indicator - * - * An indicator is a text and an icon to display single value information - * right inside the always visible part of the debug bar - * - * Options: - * - icon - * - title - * - tooltip - * - data: alias of title - */ - var Indicator = Widget.extend({ - - tagName: 'span', - - className: csscls('indicator'), - - render: function() { - this.$icon = $('<i />').appendTo(this.$el); - this.bindAttr('icon', function(icon) { - if (icon) { - this.$icon.attr('class', 'fa fa-' + icon); - } else { - this.$icon.attr('class', ''); - } - }); - - this.bindAttr(['title', 'data'], $('<span />').addClass(csscls('text')).appendTo(this.$el)); - - this.$tooltip = $('<span />').addClass(csscls('tooltip disabled')).appendTo(this.$el); - this.bindAttr('tooltip', function(tooltip) { - if (tooltip) { - this.$tooltip.text(tooltip).removeClass(csscls('disabled')); - } else { - this.$tooltip.addClass(csscls('disabled')); - } - }); - } - - }); - - // ------------------------------------------------------------------ - - /** - * Dataset title formater - * - * Formats the title of a dataset for the select box - */ - var DatasetTitleFormater = PhpDebugBar.DatasetTitleFormater = function(debugbar) { - this.debugbar = debugbar; - }; - - $.extend(DatasetTitleFormater.prototype, { - - /** - * Formats the title of a dataset - * - * @this {DatasetTitleFormater} - * @param {String} id - * @param {Object} data - * @param {String} suffix - * @return {String} - */ - format: function(id, data, suffix) { - if (suffix) { - suffix = ' ' + suffix; - } else { - suffix = ''; - } - - var nb = getObjectSize(this.debugbar.datasets) + 1; - - if (typeof(data['__meta']) === 'undefined') { - return "#" + nb + suffix; - } - - var filename = data['__meta']['uri'].substr(data['__meta']['uri'].lastIndexOf('/') + 1); - var label = "#" + nb + " " + filename + suffix + ' (' + data['__meta']['datetime'].split(' ')[1] + ')'; - return label; - } - - }); - - // ------------------------------------------------------------------ - - - /** - * DebugBar - * - * Creates a bar that appends itself to the body of your page - * and sticks to the bottom. - * - * The bar can be customized by adding tabs and indicators. - * A data map is used to fill those controls with data provided - * from datasets. - */ - var DebugBar = PhpDebugBar.DebugBar = Widget.extend({ - - className: "phpdebugbar " + csscls('minimized'), - - options: { - bodyPaddingBottom: true - }, - - initialize: function() { - this.controls = {}; - this.dataMap = {}; - this.datasets = {}; - this.firstTabName = null; - this.activePanelName = null; - this.datesetTitleFormater = new DatasetTitleFormater(this); - this.registerResizeHandler(); - }, - - /** - * Register resize event, for resize debugbar with reponsive css. - * - * @this {DebugBar} - */ - registerResizeHandler: function() { - var f = this.resize.bind(this); - this.respCSSSize = 0; - $(window).resize(f); - setTimeout(f, 20); - }, - - /** - * Resizes the debugbar to fit the current browser window - */ - resize: function() { - var contentSize = this.respCSSSize; - if (this.respCSSSize == 0) { - this.$header.find("> div > *:visible").each(function () { - contentSize += $(this).outerWidth(); - }); - } - - var currentSize = this.$header.width(); - var cssClass = "phpdebugbar-mini-design"; - var bool = this.$header.hasClass(cssClass); - - if (currentSize <= contentSize && !bool) { - this.respCSSSize = contentSize; - this.$header.addClass(cssClass); - } else if (contentSize < currentSize && bool) { - this.respCSSSize = 0; - this.$header.removeClass(cssClass); - } - }, - - /** - * Initialiazes the UI - * - * @this {DebugBar} - */ - render: function() { - var self = this; - this.$el.appendTo('body'); - this.$resizehdle = $('<div />').addClass(csscls('resize-handle')).appendTo(this.$el); - this.$header = $('<div />').addClass(csscls('header')).appendTo(this.$el); - this.$headerLeft = $('<div />').addClass(csscls('header-left')).appendTo(this.$header); - this.$headerRight = $('<div />').addClass(csscls('header-right')).appendTo(this.$header); - var $body = this.$body = $('<div />').addClass(csscls('body')).appendTo(this.$el); - this.recomputeBottomOffset(); - - // dragging of resize handle - var dragging = false; - this.$resizehdle.on('mousedown', function(e) { - var orig_h = $body.height(), pos_y = e.pageY; - dragging = true; - - $body.parents().on('mousemove', function(e) { - if (dragging) { - var h = orig_h + (pos_y - e.pageY); - $body.css('height', h); - localStorage.setItem('phpdebugbar-height', h); - self.recomputeBottomOffset(); - } - }).on('mouseup', function() { - dragging = false; - }); - - e.preventDefault(); - }); - - // minimize button - this.$closebtn = $('<a href="javascript:" />').addClass(csscls('close-btn')).appendTo(this.$headerRight); - this.$closebtn.click(function() { - self.close(); - }); - - // minimize button - this.$restorebtn = $('<a href="javascript:" />').addClass(csscls('restore-btn')).hide().appendTo(this.$el); - this.$restorebtn.click(function() { - self.restore(); - }); - - // open button - this.$openbtn = $('<a href="javascript:" />').addClass(csscls('open-btn')).appendTo(this.$headerRight).hide(); - this.$openbtn.click(function() { - self.openHandler.show(function(id, dataset) { - self.addDataSet(dataset, id, "(opened)"); - self.showTab(); - }); - }); - - // select box for data sets - this.$datasets = $('<select />').addClass(csscls('datasets-switcher')).appendTo(this.$headerRight); - this.$datasets.change(function() { - self.dataChangeHandler(self.datasets[this.value]); - self.showTab(); - }); - }, - - /** - * Restores the state of the DebugBar using localStorage - * This is not called by default in the constructor and - * needs to be called by subclasses in their init() method - * - * @this {DebugBar} - */ - restoreState: function() { - // bar height - var height = localStorage.getItem('phpdebugbar-height'); - if (height) { - this.$body.css('height', height); - } else { - localStorage.setItem('phpdebugbar-height', this.$body.height()); - } - - // bar visibility - var open = localStorage.getItem('phpdebugbar-open'); - if (open && open == '0') { - this.close(); - } else { - var visible = localStorage.getItem('phpdebugbar-visible'); - if (visible && visible == '1') { - var tab = localStorage.getItem('phpdebugbar-tab'); - if (this.isTab(tab)) { - this.showTab(tab); - } - } - } - }, - - /** - * Creates and adds a new tab - * - * @this {DebugBar} - * @param {String} name Internal name - * @param {Object} widget A widget object with an element property - * @param {String} title The text in the tab, if not specified, name will be used - * @return {Tab} - */ - createTab: function(name, widget, title) { - var tab = new Tab({ - title: title || (name.replace(/[_\-]/g, ' ').charAt(0).toUpperCase() + name.slice(1)), - widget: widget - }); - return this.addTab(name, tab); - }, - - /** - * Adds a new tab - * - * @this {DebugBar} - * @param {String} name Internal name - * @param {Tab} tab Tab object - * @return {Tab} - */ - addTab: function(name, tab) { - if (this.isControl(name)) { - throw new Error(name + ' already exists'); - } - - var self = this; - tab.$tab.appendTo(this.$headerLeft).click(function() { - if (!self.isMinimized() && self.activePanelName == name) { - self.minimize(); - } else { - self.showTab(name); - } - }); - tab.$el.appendTo(this.$body); - - this.controls[name] = tab; - if (this.firstTabName == null) { - this.firstTabName = name; - } - return tab; - }, - - /** - * Creates and adds an indicator - * - * @this {DebugBar} - * @param {String} name Internal name - * @param {String} icon - * @param {String} tooltip - * @param {String} position "right" or "left", default is "right" - * @return {Indicator} - */ - createIndicator: function(name, icon, tooltip, position) { - var indicator = new Indicator({ - icon: icon, - tooltip: tooltip - }); - return this.addIndicator(name, indicator, position); - }, - - /** - * Adds an indicator - * - * @this {DebugBar} - * @param {String} name Internal name - * @param {Indicator} indicator Indicator object - * @return {Indicator} - */ - addIndicator: function(name, indicator, position) { - if (this.isControl(name)) { - throw new Error(name + ' already exists'); - } - - if (position == 'left') { - indicator.$el.insertBefore(this.$headerLeft.children().first()); - } else { - indicator.$el.appendTo(this.$headerRight); - } - - this.controls[name] = indicator; - return indicator; - }, - - /** - * Returns a control - * - * @param {String} name - * @return {Object} - */ - getControl: function(name) { - if (this.isControl(name)) { - return this.controls[name]; - } - }, - - /** - * Checks if there's a control under the specified name - * - * @this {DebugBar} - * @param {String} name - * @return {Boolean} - */ - isControl: function(name) { - return typeof(this.controls[name]) != 'undefined'; - }, - - /** - * Checks if a tab with the specified name exists - * - * @this {DebugBar} - * @param {String} name - * @return {Boolean} - */ - isTab: function(name) { - return this.isControl(name) && this.controls[name] instanceof Tab; - }, - - /** - * Checks if an indicator with the specified name exists - * - * @this {DebugBar} - * @param {String} name - * @return {Boolean} - */ - isIndicator: function(name) { - return this.isControl(name) && this.controls[name] instanceof Indicator; - }, - - /** - * Removes all tabs and indicators from the debug bar and hides it - * - * @this {DebugBar} - */ - reset: function() { - this.minimize(); - var self = this; - $.each(this.controls, function(name, control) { - if (self.isTab(name)) { - control.$tab.remove(); - } - control.$el.remove(); - }); - this.controls = {}; - }, - - /** - * Open the debug bar and display the specified tab - * - * @this {DebugBar} - * @param {String} name If not specified, display the first tab - */ - showTab: function(name) { - if (!name) { - if (this.activePanelName) { - name = this.activePanelName; - } else { - name = this.firstTabName; - } - } - - if (!this.isTab(name)) { - throw new Error("Unknown tab '" + name + "'"); - } - - this.$resizehdle.show(); - this.$body.show(); - this.recomputeBottomOffset(); - - $(this.$header).find('> div > .' + csscls('active')).removeClass(csscls('active')); - $(this.$body).find('> .' + csscls('active')).removeClass(csscls('active')); - - this.controls[name].$tab.addClass(csscls('active')); - this.controls[name].$el.addClass(csscls('active')); - this.activePanelName = name; - - this.$el.removeClass(csscls('minimized')); - localStorage.setItem('phpdebugbar-visible', '1'); - localStorage.setItem('phpdebugbar-tab', name); - this.resize(); - }, - - /** - * Hide panels and minimize the debug bar - * - * @this {DebugBar} - */ - minimize: function() { - this.$header.find('> div > .' + csscls('active')).removeClass(csscls('active')); - this.$body.hide(); - this.$resizehdle.hide(); - this.recomputeBottomOffset(); - localStorage.setItem('phpdebugbar-visible', '0'); - this.$el.addClass(csscls('minimized')); - this.resize(); - }, - - /** - * Checks if the panel is minimized - * - * @return {Boolean} - */ - isMinimized: function() { - return this.$el.hasClass(csscls('minimized')); - }, - - /** - * Close the debug bar - * - * @this {DebugBar} - */ - close: function() { - this.$resizehdle.hide(); - this.$header.hide(); - this.$body.hide(); - this.$restorebtn.show(); - localStorage.setItem('phpdebugbar-open', '0'); - this.$el.addClass(csscls('closed')); - this.recomputeBottomOffset(); - }, - - /** - * Restore the debug bar - * - * @this {DebugBar} - */ - restore: function() { - this.$resizehdle.show(); - this.$header.show(); - this.$restorebtn.hide(); - localStorage.setItem('phpdebugbar-open', '1'); - var tab = localStorage.getItem('phpdebugbar-tab'); - if (this.isTab(tab)) { - this.showTab(tab); - } - this.$el.removeClass(csscls('closed')); - this.resize(); - }, - - /** - * Recomputes the padding-bottom css property of the body so - * that the debug bar never hides any content - */ - recomputeBottomOffset: function() { - if (this.options.bodyPaddingBottom) { - $('body').css('padding-bottom', this.$el.height()); - } - }, - - /** - * Sets the data map used by dataChangeHandler to populate - * indicators and widgets - * - * A data map is an object where properties are control names. - * The value of each property should be an array where the first - * item is the name of a property from the data object (nested properties - * can be specified) and the second item the default value. - * - * Example: - * {"memory": ["memory.peak_usage_str", "0B"]} - * - * @this {DebugBar} - * @param {Object} map - */ - setDataMap: function(map) { - this.dataMap = map; - }, - - /** - * Same as setDataMap() but appends to the existing map - * rather than replacing it - * - * @this {DebugBar} - * @param {Object} map - */ - addDataMap: function(map) { - $.extend(this.dataMap, map); - }, - - /** - * Resets datasets and add one set of data - * - * For this method to be usefull, you need to specify - * a dataMap using setDataMap() - * - * @this {DebugBar} - * @param {Object} data - * @return {String} Dataset's id - */ - setData: function(data) { - this.datasets = {}; - return this.addDataSet(data); - }, - - /** - * Adds a dataset - * - * If more than one dataset are added, the dataset selector - * will be displayed. - * - * For this method to be usefull, you need to specify - * a dataMap using setDataMap() - * - * @this {DebugBar} - * @param {Object} data - * @param {String} id The name of this set, optional - * @param {String} suffix - * @return {String} Dataset's id - */ - addDataSet: function(data, id, suffix) { - var label = this.datesetTitleFormater.format(id, data, suffix); - id = id || (getObjectSize(this.datasets) + 1); - this.datasets[id] = data; - - this.$datasets.append($('<option value="' + id + '">' + label + '</option>')); - if (this.$datasets.children().length > 1) { - this.$datasets.show(); - } - - this.showDataSet(id); - return id; - }, - - /** - * Loads a dataset using the open handler - * - * @param {String} id - */ - loadDataSet: function(id, suffix, callback) { - if (!this.openHandler) { - throw new Error('loadDataSet() needs an open handler'); - } - var self = this; - this.openHandler.load(id, function(data) { - self.addDataSet(data, id, suffix); - callback && callback(data); - }); - }, - - /** - * Returns the data from a dataset - * - * @this {DebugBar} - * @param {String} id - * @return {Object} - */ - getDataSet: function(id) { - return this.datasets[id]; - }, - - /** - * Switch the currently displayed dataset - * - * @this {DebugBar} - * @param {String} id - */ - showDataSet: function(id) { - this.dataChangeHandler(this.datasets[id]); - this.$datasets.val(id); - }, - - /** - * Called when the current dataset is modified. - * - * @this {DebugBar} - * @param {Object} data - */ - dataChangeHandler: function(data) { - var self = this; - $.each(this.dataMap, function(key, def) { - var d = getDictValue(data, def[0], def[1]); - if (key.indexOf(':') != -1) { - key = key.split(':'); - self.getControl(key[0]).set(key[1], d); - } else { - self.getControl(key).set('data', d); - } - }); - }, - - /** - * Sets the handler to open past dataset - * - * @this {DebugBar} - * @param {object} handler - */ - setOpenHandler: function(handler) { - this.openHandler = handler; - if (handler !== null) { - this.$openbtn.show(); - } else { - this.$openbtn.hide(); - } - }, - - /** - * Returns the handler to open past dataset - * - * @this {DebugBar} - * @return {object} - */ - getOpenHandler: function() { - return this.openHandler; - } - - }); - - DebugBar.Tab = Tab; - DebugBar.Indicator = Indicator; - - // ------------------------------------------------------------------ - - /** - * AjaxHandler - * - * Extract data from headers of an XMLHttpRequest and adds a new dataset - */ - var AjaxHandler = PhpDebugBar.AjaxHandler = function(debugbar, headerName) { - this.debugbar = debugbar; - this.headerName = headerName || 'phpdebugbar'; - }; - - $.extend(AjaxHandler.prototype, { - - /** - * Handles an XMLHttpRequest - * - * @this {AjaxHandler} - * @param {XMLHttpRequest} xhr - * @return {Bool} - */ - handle: function(xhr) { - if (!this.loadFromId(xhr)) { - return this.loadFromData(xhr); - } - return true; - }, - - /** - * Checks if the HEADER-id exists and loads the dataset using the open handler - * - * @param {XMLHttpRequest} xhr - * @return {Bool} - */ - loadFromId: function(xhr) { - var id = this.extractIdFromHeaders(xhr); - if (id && this.debugbar.openHandler) { - this.debugbar.loadDataSet(id, "(ajax)"); - return true; - } - return false; - }, - - /** - * Extracts the id from the HEADER-id - * - * @param {XMLHttpRequest} xhr - * @return {String} - */ - extractIdFromHeaders: function(xhr) { - return xhr.getResponseHeader(this.headerName + '-id'); - }, - - /** - * Checks if the HEADER exists and loads the dataset - * - * @param {XMLHttpRequest} xhr - * @return {Bool} - */ - loadFromData: function(xhr) { - var raw = this.extractDataFromHeaders(xhr); - if (!raw) { - return false; - } - - var data = this.parseHeaders(raw); - if (data.error) { - throw new Error('Error loading debugbar data: ' + data.error); - } else if(data.data) { - this.debugbar.addDataSet(data.data, data.id, "(ajax)"); - } - return true; - }, - - /** - * Extract the data as a string from headers of an XMLHttpRequest - * - * @this {AjaxHandler} - * @param {XMLHttpRequest} xhr - * @return {string} - */ - extractDataFromHeaders: function(xhr) { - var data = xhr.getResponseHeader(this.headerName); - if (!data) { - return; - } - for (var i = 1;; i++) { - var header = xhr.getResponseHeader(this.headerName + '-' + i); - if (!header) { - break; - } - data += header; - } - return decodeURIComponent(data); - }, - - /** - * Parses the string data into an object - * - * @this {AjaxHandler} - * @param {string} data - * @return {string} - */ - parseHeaders: function(data) { - return JSON.parse(data); - }, - - /** - * Attaches an event listener to jQuery.ajaxComplete() - * - * @this {AjaxHandler} - * @param {jQuery} jq Optional - */ - bindToJquery: function(jq) { - var self = this; - jq(document).ajaxComplete(function(e, xhr, settings) { - if (!settings.ignoreDebugBarAjaxHandler) { - self.handle(xhr); - } - }); - } - - }); - -})(PhpDebugBar.$); diff --git a/public/packages/maximebf/php-debugbar/icons.png b/public/packages/maximebf/php-debugbar/icons.png deleted file mode 100644 index 5dc6d9c8ca03a3f4d074c4c273ad5449f4c46b55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500 zcmV<Q0So?#P)<h;3K|Lk000e1NJLTq001Ze000gM1ONa4_X3v900002VoOIv0RM-N z%)bBt010qNS#tmY3ljhU3ljkVnw%H_000McNliru-3kU2FANPToyGtF0fk9KK~y-) zwUaSR!%!53zn3N`#?qQWOh7~^tzAqj4kCi?PL3|3NCr0t9s3{Z9IY<uu1j$;po@!& zi$ey%Ax@<Q1<~3#q!FvHf}nSL@1A!K_nvzn{Beli63i5LqyeZ01K)AA{cM*4b3p^l z6sKGTD_!J5g+UYmT4};KABYY?b2q)LQS;1MNO*?*S^&AE_35m9x&@sT4oxY5Vb?q` zYz>Xxsh~^CJrC!LKRKrY?5wT3PZ<rv1`W{t^4dff!Ex6bVegw2AD#+;P`#X4cb_s5 zsQYE7cqW=Mx#{4%n7c?0%dl+aaFxhk(JbA(v|`|;Rl1SO!MJPX`iAA$WaXoIGnMcR zTWbTa)UMxVgNBS04&}C!^U`ruj~2vpyTVvb_jMmM3_Ib;tFU^sc{wtAAfBVy1Nr;* zD4enrN#^h6w7!jAX<qlYj^kwlPByJ-G>YO`+0lKgda~JNX_n;q?7paXEKoQ`KUbm& qp-O>AaVsZ=Gx6X061U=k|A}|zdur)rMSJxC0000<MNUMnLSTZWli4Hy diff --git a/public/packages/maximebf/php-debugbar/openhandler.css b/public/packages/maximebf/php-debugbar/openhandler.css deleted file mode 100644 index 77c6fad..0000000 --- a/public/packages/maximebf/php-debugbar/openhandler.css +++ /dev/null @@ -1,60 +0,0 @@ -div.phpdebugbar-openhandler-overlay { - position: fixed; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #000; - opacity: .3; - z-index: 20000; -} - -div.phpdebugbar-openhandler { - position: fixed; - margin: auto; - top: 0; - bottom: 0; - left: 0; - right: 0; - width: 70%; - height: 70%; - background: #fff; - border: 2px solid #888; - overflow: auto; - z-index: 20001; - font-family: arial; - font-size: 14px; - padding-bottom: 10px; -} - div.phpdebugbar-openhandler .phpdebugbar-openhandler-header { - background: #efefef url(php-icon.png) no-repeat 5px 4px; - padding-left: 29px; - min-height: 26px; - line-height: 25px; - color: #555; - margin-bottom: 10px; - } - div.phpdebugbar-openhandler .phpdebugbar-openhandler-header a { - font-size: 14px; - color: #555; - text-decoration: none; - float: right; - padding: 5px 8px; - } - div.phpdebugbar-openhandler table { - width: 100%; - font-size: 14px; - } - div.phpdebugbar-openhandler table td { - padding: 6px 3px; - text-align: center; - border-bottom: 1px solid #ddd; - } - div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions { - text-align: center; - padding: 7px 0; - } - div.phpdebugbar-openhandler .phpdebugbar-openhandler-actions a { - margin: 0 10px; - color: #555; - } diff --git a/public/packages/maximebf/php-debugbar/openhandler.js b/public/packages/maximebf/php-debugbar/openhandler.js deleted file mode 100644 index 52eff30..0000000 --- a/public/packages/maximebf/php-debugbar/openhandler.js +++ /dev/null @@ -1,191 +0,0 @@ -if (typeof(PhpDebugBar) == 'undefined') { - // namespace - var PhpDebugBar = {}; - PhpDebugBar.$ = jQuery; -} - -(function($) { - - var csscls = function(cls) { - return PhpDebugBar.utils.csscls(cls, 'phpdebugbar-openhandler-'); - }; - - PhpDebugBar.OpenHandler = PhpDebugBar.Widget.extend({ - - className: 'phpdebugbar-openhandler', - - defaults: { - items_per_page: 20 - }, - - render: function() { - var self = this; - - this.$el.appendTo('body').hide(); - this.$closebtn = $('<a href="javascript:"><i class="fa fa-times"></i></a>'); - this.$table = $('<tbody />'); - $('<div>PHP DebugBar | Open</div>').addClass(csscls('header')).append(this.$closebtn).appendTo(this.$el); - $('<table><thead><tr><th>Load</th><th>Method</th><th>URL</th><th>Date</th><th>IP</th></tr></thead></table>').append(this.$table).appendTo(this.$el); - this.$actions = $('<div />').addClass(csscls('actions')).appendTo(this.$el); - - this.$closebtn.on('click', function() { - self.hide(); - }); - - this.$loadmorebtn = $('<a href="javascript:">Load more</a>') - .appendTo(this.$actions) - .on('click', function() { - self.find(self.last_find_request, self.last_find_request.offset + self.get('items_per_page'), self.handleFind.bind(self)); - }); - - this.$showonlycurrentbtn = $('<a href="javascript:">Show only current URL</a>') - .appendTo(this.$actions) - .on('click', function() { - self.$table.empty(); - self.find({uri: window.location.pathname}, 0, self.handleFind.bind(self)); - }); - - this.$showallbtn = $('<a href="javascript:">Show all</a>') - .appendTo(this.$actions) - .on('click', function() { - self.refresh(); - }); - - this.$clearbtn = $('<a href="javascript:">Delete all</a>') - .appendTo(this.$actions) - .on('click', function() { - self.clear(function() { - self.hide(); - }); - }); - - this.addSearch(); - - this.$overlay = $('<div />').addClass(csscls('overlay')).hide().appendTo('body'); - this.$overlay.on('click', function() { - self.hide(); - }); - }, - - refresh: function() { - this.$table.empty(); - this.$loadmorebtn.show(); - this.find({}, 0, this.handleFind.bind(this)); - }, - - addSearch: function(){ - var self = this; - var searchBtn = $('<button />') - .text('Search') - .on('click', function(e) { - self.$table.empty(); - var search = {}; - var a = $(this).parent().serializeArray(); - $.each(a, function() { - if(this.value){ - search[this.name] = this.value; - } - }); - - self.find(search, 0, self.handleFind.bind(self)); - e.preventDefault(); - }); - - $('<form />') - .append('<br/><b>Filter results</b><br/>') - .append('Method: <select name="method"><option></option><option>GET</option><option>POST</option><option>PUT</option><option>DELETE</option></select><br/>') - .append('Uri: <input type="text" name="uri"><br/>') - .append('IP: <input type="text" name="ip"><br/>') - .append(searchBtn) - .appendTo(this.$actions); - }, - - handleFind: function(data) { - var self = this; - $.each(data, function(i, meta) { - var a = $('<a href="javascript:" />') - .text('Load dataset') - .on('click', function(e) { - self.hide(); - self.load(meta['id'], function(data) { - self.callback(meta['id'], data); - }); - e.preventDefault(); - }); - - var method = $('<a href="javascript:" />') - .text(meta['method']) - .on('click', function(e) { - self.$table.empty(); - self.find({method: meta['method']}, 0, self.handleFind.bind(self)); - e.preventDefault(); - }); - - var uri = $('<a href="javascript:" />') - .text(meta['uri']) - .on('click', function(e) { - self.$table.empty(); - self.find({uri: meta['uri']}, 0, self.handleFind.bind(self)); - e.preventDefault(); - }); - - var ip = $('<a href="javascript:" />') - .text(meta['ip']) - .on('click', function(e) { - self.$table.empty(); - self.find({ip: meta['ip']}, 0, self.handleFind.bind(self)); - e.preventDefault(); - }); - - $('<tr />') - .append($('<td />').append(a)) - .append($('<td />').append(method)) - .append($('<td />').append(uri)) - .append('<td>' + meta['datetime'] + '</td>') - .append($('<td />').append(ip)) - .appendTo(self.$table); - }); - if (data.length < this.get('items_per_page')) { - this.$loadmorebtn.hide(); - } - }, - - show: function(callback) { - this.callback = callback; - this.$el.show(); - this.$overlay.show(); - this.refresh(); - }, - - hide: function() { - this.$el.hide(); - this.$overlay.hide(); - }, - - find: function(filters, offset, callback) { - var data = $.extend({}, filters, {max: this.get('items_per_page'), offset: offset || 0}); - this.last_find_request = data; - this.ajax(data, callback); - }, - - load: function(id, callback) { - this.ajax({op: "get", id: id}, callback); - }, - - clear: function(callback) { - this.ajax({op: "clear"}, callback); - }, - - ajax: function(data, callback) { - $.ajax({ - dataType: 'json', - url: this.get('url'), - data: data, - success: callback, - ignoreDebugBarAjaxHandler: true - }); - } - - }); - -})(PhpDebugBar.$); diff --git a/public/packages/maximebf/php-debugbar/php-icon.png b/public/packages/maximebf/php-debugbar/php-icon.png deleted file mode 100644 index 2cb46bf4ef43614df269b2d6b1119a5e5597eb53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3621 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 diff --git a/public/packages/maximebf/php-debugbar/vendor/font-awesome/css/font-awesome.min.css b/public/packages/maximebf/php-debugbar/vendor/font-awesome/css/font-awesome.min.css deleted file mode 100644 index 449d6ac..0000000 --- a/public/packages/maximebf/php-debugbar/vendor/font-awesome/css/font-awesome.min.css +++ /dev/null @@ -1,4 +0,0 @@ -/*! - * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.0.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"} \ No newline at end of file diff --git a/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/FontAwesome.otf b/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/FontAwesome.otf deleted file mode 100644 index 8b0f54e47e1d356dcf1496942a50e228e0f1ee14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62856 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 diff --git a/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.eot b/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.eot deleted file mode 100644 index 7c79c6a6bc9a128a2a8eaffbe49a4338625fdbc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38205 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 E0QL`y%>V!Z diff --git a/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.svg b/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.svg deleted file mode 100644 index 45fdf33..0000000 --- a/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,414 +0,0 @@ -<?xml version="1.0" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > -<svg xmlns="http://www.w3.org/2000/svg"> -<metadata></metadata> -<defs> -<font id="fontawesomeregular" horiz-adv-x="1536" > -<font-face units-per-em="1792" ascent="1536" descent="-256" /> -<missing-glyph horiz-adv-x="448" /> -<glyph unicode=" " horiz-adv-x="448" /> -<glyph unicode="	" horiz-adv-x="448" /> -<glyph unicode=" " horiz-adv-x="448" /> -<glyph unicode="¨" horiz-adv-x="1792" /> -<glyph unicode="©" horiz-adv-x="1792" /> -<glyph unicode="®" horiz-adv-x="1792" /> -<glyph unicode="´" horiz-adv-x="1792" /> -<glyph unicode="Æ" horiz-adv-x="1792" /> -<glyph unicode=" " horiz-adv-x="768" /> -<glyph unicode=" " /> -<glyph unicode=" " horiz-adv-x="768" /> -<glyph unicode=" " /> -<glyph unicode=" " horiz-adv-x="512" /> -<glyph unicode=" " horiz-adv-x="384" /> -<glyph unicode=" " horiz-adv-x="256" /> -<glyph unicode=" " horiz-adv-x="256" /> -<glyph unicode=" " horiz-adv-x="192" /> -<glyph unicode=" " horiz-adv-x="307" /> -<glyph unicode=" " horiz-adv-x="85" /> -<glyph unicode=" " horiz-adv-x="307" /> -<glyph unicode=" " horiz-adv-x="384" /> -<glyph unicode="™" horiz-adv-x="1792" /> -<glyph unicode="∞" horiz-adv-x="1792" /> -<glyph unicode="≠" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="500" d="M0 0z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" /> -<glyph unicode="" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> -<glyph unicode="" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> -<glyph unicode="" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" /> -<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" /> -<glyph unicode="" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " /> -<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" /> -<glyph unicode="" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" /> -<glyph unicode="" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" /> -<glyph unicode="" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " /> -<glyph unicode="" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" /> -<glyph unicode="" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" /> -<glyph unicode="" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" /> -<glyph unicode="" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" /> -<glyph unicode="" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" /> -<glyph unicode="" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" /> -<glyph unicode="" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" /> -<glyph unicode="" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" /> -<glyph unicode="" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" /> -<glyph unicode="" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" /> -<glyph unicode="" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" /> -<glyph unicode="" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" /> -<glyph unicode="" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" /> -<glyph unicode="" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" /> -<glyph unicode="" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" /> -<glyph unicode="" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" /> -<glyph unicode="" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> -<glyph unicode="" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" /> -<glyph unicode="" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" /> -<glyph unicode="" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" /> -<glyph unicode="" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" /> -<glyph unicode="" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" /> -<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" /> -<glyph unicode="" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" /> -<glyph unicode="" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" /> -<glyph unicode="" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" /> -<glyph unicode="" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" /> -<glyph unicode="" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" /> -<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" /> -<glyph unicode="" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" /> -<glyph unicode="" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" /> -<glyph unicode="" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" /> -<glyph unicode="" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" /> -<glyph unicode="" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" /> -<glyph unicode="" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" /> -<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" /> -<glyph unicode="" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" /> -<glyph unicode="" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " /> -<glyph unicode="" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" /> -<glyph unicode="" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> -<glyph unicode="" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" /> -<glyph unicode="" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " /> -<glyph unicode="" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" /> -<glyph unicode="" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" /> -<glyph unicode="" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> -<glyph unicode="" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" /> -<glyph unicode="" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" /> -<glyph unicode="" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" /> -<glyph unicode="" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" /> -<glyph unicode="" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" /> -<glyph unicode="" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" /> -<glyph unicode="" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" /> -<glyph unicode="" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" /> -<glyph unicode="" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" /> -<glyph unicode="" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" /> -<glyph unicode="" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" /> -<glyph unicode="" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" /> -<glyph unicode="" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" /> -<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" /> -<glyph unicode="" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" /> -<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" /> -<glyph unicode="" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" /> -<glyph unicode="" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" /> -<glyph unicode="" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" /> -<glyph unicode="" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" /> -<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" /> -<glyph unicode="" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" /> -<glyph unicode="" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" /> -<glyph unicode="" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " /> -<glyph unicode="" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " /> -<glyph unicode="" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" /> -<glyph unicode="" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" /> -<glyph unicode="" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" /> -<glyph unicode="" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" /> -<glyph unicode="" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" /> -<glyph unicode="" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" /> -<glyph unicode="" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" /> -<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" /> -<glyph unicode="" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" /> -<glyph unicode="" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" /> -<glyph unicode="" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> -<glyph unicode="" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" /> -<glyph unicode="" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" /> -<glyph unicode="" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" /> -<glyph unicode="" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> -<glyph unicode="" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" /> -<glyph unicode="" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" /> -<glyph unicode="" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" /> -<glyph unicode="" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" /> -<glyph unicode="" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" /> -<glyph unicode="" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" /> -<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" /> -<glyph unicode="" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" /> -<glyph unicode="" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> -<glyph unicode="" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" /> -<glyph unicode="" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" /> -<glyph unicode="" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" /> -<glyph unicode="" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" /> -<glyph unicode="" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" /> -<glyph unicode="" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" /> -<glyph unicode="" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" /> -<glyph unicode="" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" /> -<glyph unicode="" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" /> -<glyph unicode="" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" /> -<glyph unicode="" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" /> -<glyph unicode="" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" /> -<glyph unicode="" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" /> -<glyph unicode="" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" /> -<glyph unicode="" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" /> -<glyph unicode="" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" /> -<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" /> -<glyph unicode="" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" /> -<glyph unicode="" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" /> -<glyph unicode="" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> -<glyph unicode="" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" /> -<glyph unicode="" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" /> -<glyph unicode="" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" /> -<glyph unicode="" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" /> -<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" /> -<glyph unicode="" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" /> -<glyph unicode="" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" /> -<glyph unicode="" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" /> -<glyph unicode="" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" /> -<glyph unicode="" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" /> -<glyph unicode="" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" /> -<glyph unicode="" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" /> -<glyph unicode="" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" /> -<glyph unicode="" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" /> -<glyph unicode="" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" /> -<glyph unicode="" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" /> -<glyph unicode="" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" /> -<glyph unicode="" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" /> -<glyph unicode="" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" /> -<glyph unicode="" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" /> -<glyph unicode="" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" /> -<glyph unicode="" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" /> -<glyph unicode="" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" /> -<glyph unicode="" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" /> -<glyph unicode="" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" /> -<glyph unicode="" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " /> -<glyph unicode="" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" /> -<glyph unicode="" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" /> -<glyph unicode="" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" /> -<glyph unicode="" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" /> -<glyph unicode="" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" /> -<glyph unicode="" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" /> -<glyph unicode="" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> -<glyph unicode="" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> -<glyph unicode="" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" /> -<glyph unicode="" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" /> -<glyph unicode="" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" /> -<glyph unicode="" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" /> -<glyph unicode="" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" /> -<glyph unicode="" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" /> -<glyph unicode="" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " /> -<glyph unicode="" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> -<glyph unicode="" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" /> -<glyph unicode="" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" /> -<glyph unicode="" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -<glyph unicode="" horiz-adv-x="1792" /> -</font> -</defs></svg> \ No newline at end of file diff --git a/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.ttf b/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.ttf deleted file mode 100644 index e89738de5eaf8fca33a2f2cdc5cb4929caa62b71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80652 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 diff --git a/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.woff b/public/packages/maximebf/php-debugbar/vendor/font-awesome/fonts/fontawesome-webfont.woff deleted file mode 100644 index 8c1748aab7a790d510fb3f42a8a8971d96efa79d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44432 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 VoBs<Y3))5i00001Qg^x6008Up2bBN- diff --git a/public/packages/maximebf/php-debugbar/vendor/highlightjs/highlight.pack.js b/public/packages/maximebf/php-debugbar/vendor/highlightjs/highlight.pack.js deleted file mode 100644 index cf7215a..0000000 --- a/public/packages/maximebf/php-debugbar/vendor/highlightjs/highlight.pack.js +++ /dev/null @@ -1 +0,0 @@ -var hljs=new function(){function k(v){return v.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">")}function t(v){return v.nodeName.toLowerCase()}function i(w,x){var v=w&&w.exec(x);return v&&v.index==0}function d(v){return Array.prototype.map.call(v.childNodes,function(w){if(w.nodeType==3){return b.useBR?w.nodeValue.replace(/\n/g,""):w.nodeValue}if(t(w)=="br"){return"\n"}return d(w)}).join("")}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^language-/,"")});return v.filter(function(x){return j(x)||x=="no-highlight"})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(t(A)=="br"){z+=1}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset<y[0].offset)?w:y}return y[0].event=="start"?w:y}function A(H){function G(I){return" "+I.nodeName+'="'+k(I.value)+'"'}F+="<"+t(H)+Array.prototype.map.call(H.attributes,G).join("")+">"}function E(G){F+="</"+t(G)+">"}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=k(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+k(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};function E(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})}if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b=D.bK.split(" ").join("|")}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?\\b("+F.b+")\\b\\.?":F.b}).concat([D.tE]).concat([D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}};D.continuation={}}x(y)}function c(S,L,J,R){function v(U,V){for(var T=0;T<V.c.length;T++){if(i(V.c[T].bR,U)){return V.c[T]}}}function z(U,T){if(i(U.eR,T)){return U}if(U.eW){return z(U.parent,T)}}function A(T,U){return !J&&i(U.iR,T)}function E(V,T){var U=M.cI?T[0].toLowerCase():T[0];return V.k.hasOwnProperty(U)&&V.k[U]}function w(Z,X,W,V){var T=V?"":b.classPrefix,U='<span class="'+T,Y=W?"":"</span>";U+=Z+'">';return U+X+Y}function N(){var U=k(C);if(!I.k){return U}var T="";var X=0;I.lR.lastIndex=0;var V=I.lR.exec(U);while(V){T+=U.substr(X,V.index-X);var W=E(I,V);if(W){H+=W[1];T+=w(W[0],V[0])}else{T+=V[0]}X=I.lR.lastIndex;V=I.lR.exec(U)}return T+U.substr(X)}function F(){if(I.sL&&!f[I.sL]){return k(C)}var T=I.sL?c(I.sL,C,true,I.continuation.top):g(C);if(I.r>0){H+=T.r}if(I.subLanguageMode=="continuous"){I.continuation.top=T.top}return w(T.language,T.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(V,U){var T=V.cN?w(V.cN,"",true):"";if(V.rB){D+=T;C=""}else{if(V.eB){D+=k(U)+T;C=""}else{D+=T;C=U}}I=Object.create(V,{parent:{value:I}})}function G(T,X){C+=T;if(X===undefined){D+=Q();return 0}var V=v(X,I);if(V){D+=Q();P(V,X);return V.rB?0:X.length}var W=z(I,X);if(W){var U=I;if(!(U.rE||U.eE)){C+=X}D+=Q();do{if(I.cN){D+="</span>"}H+=I.r;I=I.parent}while(I!=W.parent);if(U.eE){D+=k(X)}C="";if(W.starts){P(W.starts,"")}return U.rE?0:X.length}if(A(X,I)){throw new Error('Illegal lexeme "'+X+'" for mode "'+(I.cN||"<unnamed>")+'"')}C+=X;return X.length||1}var M=j(S);if(!M){throw new Error('Unknown language: "'+S+'"')}m(M);var I=R||M;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D=w(K.cN,D,true)}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+="</span>"}}return{r:H,value:D,language:S,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:k(L)}}else{throw O}}}function g(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:k(y)};var w=v;x.forEach(function(z){if(!j(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function h(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g,"<br>")}return v}function p(z){var y=d(z);var A=r(z);if(A=="no-highlight"){return}var v=A?c(A,y,true):g(y);var w=u(z);if(w.length){var x=document.createElementNS("http://www.w3.org/1999/xhtml","pre");x.innerHTML=v.value;v.value=q(w,u(x),y)}v.value=h(v.value);z.innerHTML=v.value;z.className+=" hljs "+(!A&&v.language||"");z.result={language:v.language,re:v.r};if(v.second_best){z.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function e(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function j(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=g;this.fixMarkup=h;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=e;this.getLanguage=j;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.REGEXP_MODE={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("scilab",function(a){var b=[a.CNM,{cN:"string",b:"'|\"",e:"'|\"",c:[a.BE,{b:"''"}]}];return{k:{keyword:"abort break case clear catch continue do elseif else endfunction end for functionglobal if pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listfiles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tantype typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function endfunction",e:"$",k:"function endfunction|10",c:[a.UTM,{cN:"params",b:"\\(",e:"\\)"},],},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",r:0,c:b},{cN:"comment",b:"//",e:"$"}].concat(b)}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/</,r:0,c:[d,{cN:"attribute",b:c,r:0},{b:"=",r:0,c:[{cN:"value",v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html"],cI:true,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[b],starts:{e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},d,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:"[^ /><]+",r:0},b]}]}});hljs.registerLanguage("asciidoc",function(a){return{c:[{cN:"comment",b:"^/{4,}\\n",e:"\\n/{4,}$",r:10},{cN:"comment",b:"^//",e:"$",r:0},{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"header",b:"^(={1,5}) .+?( \\1)?$",r:10},{cN:"header",b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$",r:10},{cN:"attribute",b:"^:.+?:",e:"\\s",eE:true,r:10},{cN:"attribute",b:"^\\[.+?\\]$",r:0},{cN:"blockquote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"label",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"smartquote",b:"``.+?''",r:10},{cN:"smartquote",b:"`.+?'",r:10},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{cN:"horizontal_rule",b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:true,c:[{b:"(link|image:?):",r:0},{cN:"link_url",b:"\\w",e:"[^\\[]+",r:0},{cN:"link_label",b:"\\[",e:"\\]",eB:true,eE:true,r:0}],r:10}]}});hljs.registerLanguage("coffeescript",function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module exports global window document"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f=c.inherit(c.TM,{b:a});var e={cN:"subst",b:/#\{/,e:/}/,k:b};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[c.BE]},{b:/'/,e:/'/,c:[c.BE]},{b:/"""/,e:/"""/,c:[c.BE,e]},{b:/"/,e:/"/,c:[c.BE,e]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[e,c.HCM]},{b:"//[gim]*",r:0},{b:"/\\S(\\\\.|[^\\n])*?/[gim]*(?=\\s|\\W|$)"}]},{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;return{k:b,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"("+a+"\\s*=\\s*)?(\\(.*\\))?\\s*\\B[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\(",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:true,i:/[:="\[\]]/,c:[f]},f]},{cN:"attribute",b:a+":",e:":",rB:true,eE:true,r:0}])}});hljs.registerLanguage("fix",function(a){return{c:[{b:/[^\u2401\u0001]+/,e:/[\u2401\u0001]/,eE:true,rB:true,rE:false,c:[{b:/([^\u2401\u0001=]+)/,e:/=([^\u2401\u0001=]+)/,rE:true,rB:false,cN:"attribute"},{b:/=/,e:/([\u2401\u0001])/,eE:true,eB:true,cN:"string"}]}],cI:true}});hljs.registerLanguage("mel",function(a){return{k:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",i:"</",c:[a.CNM,a.ASM,a.QSM,{cN:"string",b:"`",e:"`",c:[a.BE]},{cN:"variable",v:[{b:"\\$\\d"},{b:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},{b:"\\*(\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)",r:0}]},a.CLCM,a.CBLCLM]}});hljs.registerLanguage("objectivec",function(a){var d={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign self synchronized id nonatomic super unichar IBOutlet IBAction strong weak @private @protected @public @try @property @end @throw @catch @finally @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};var c=/[a-zA-Z@][a-zA-Z0-9_]*/;var b="@interface @class @protocol @implementation";return{k:d,l:c,i:"</",c:[a.CLCM,a.CBLCLM,a.CNM,a.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"preprocessor",b:"#import",e:"$",c:[{cN:"title",b:'"',e:'"'},{cN:"title",b:"<",e:">"}]},{cN:"preprocessor",b:"#",e:"$"},{cN:"class",b:"("+b.split(" ").join("|")+")\\b",e:"({|$)",k:b,l:c,c:[a.UTM]},{cN:"variable",b:"\\."+a.UIR,r:0}]}});hljs.registerLanguage("apache",function(a){var b={cN:"number",b:"[\\$%]\\d+"};return{cI:true,c:[a.HCM,{cN:"tag",b:"</?",e:">"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,a.QSM]}}],i:/\S/}});hljs.registerLanguage("livecodeserver",function(a){var e={cN:"variable",b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0};var b={cN:"comment",e:"$",v:[a.CBLCLM,a.HCM,{b:"--",},{b:"[^:]//",}]};var d=a.inherit(a.TM,{v:[{b:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]});var c=a.inherit(a.TM,{b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:false,k:{keyword:"after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",constant:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",operator:"div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg base64Decode base64Encode baseConvert binaryDecode binaryEncode byteToNum cachedURL cachedURLs charToNum cipherNames commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames global globals hasMemory hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames num number numToByte numToChar offset open openfiles openProcesses openProcessIDs openSockets paramCount param params peerAddress pendingMessages platform processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_Execute revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sec secs seconds sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName tick ticks time to toLower toUpper transpose trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus value variableNames version waitDepth weekdayNames wordOffset add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket process post seek rel relative read from process rename replace require resetAll revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split subtract union unload wait write"},c:[e,{cN:"keyword",b:"\\bend\\sif\\b"},{cN:"function",bK:"function",e:"$",c:[e,c,a.ASM,a.QSM,a.BNM,a.CNM,d]},{cN:"function",bK:"end",e:"$",c:[c,d]},{cN:"command",bK:"command on",e:"$",c:[e,c,a.ASM,a.QSM,a.BNM,a.CNM,d]},{cN:"command",bK:"end",e:"$",c:[c,d]},{cN:"preprocessor",b:"<\\?rev|<\\?lc|<\\?livecode",r:10},{cN:"preprocessor",b:"<\\?"},{cN:"preprocessor",b:"\\?>"},b,a.ASM,a.QSM,a.BNM,a.CNM,d],i:";$|^\\[|^="}});hljs.registerLanguage("glsl",function(a){return{k:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[a.CLCM,a.CBLCLM,a.CNM,{cN:"preprocessor",b:"#",e:"$"}]}});hljs.registerLanguage("lasso",function(d){var b="[a-zA-Z_][a-zA-Z0-9_.]*";var i="<\\?(lasso(script)?|=)";var c="\\]|\\?>";var g={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null bytes list queue set stack staticarray tie local var variable global data self inherited",keyword:"error_code error_msg error_pop error_push error_reset cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"};var a={cN:"comment",b:"<!--",e:"-->",r:0};var j={cN:"preprocessor",b:"\\[noprocess\\]",starts:{cN:"markup",e:"\\[/noprocess\\]",rE:true,c:[a]}};var e={cN:"preprocessor",b:"\\[/noprocess|"+i};var h={cN:"variable",b:"'"+b+"'"};var f=[d.CLCM,{cN:"javadoc",b:"/\\*\\*!",e:"\\*/"},d.CBLCLM,d.inherit(d.CNM,{b:d.CNR+"|-?(infinity|nan)\\b"}),d.inherit(d.ASM,{i:null}),d.inherit(d.QSM,{i:null}),{cN:"string",b:"`",e:"`"},{cN:"variable",v:[{b:"[#$]"+b},{b:"#",e:"\\d+",i:"\\W"}]},{cN:"tag",b:"::\\s*",e:b,i:"\\W"},{cN:"attribute",b:"\\.\\.\\.|-"+d.UIR},{cN:"subst",v:[{b:"->\\s*",c:[h]},{b:":=|/(?!\\w)=?|[-+*%=<>&|!?\\\\]+",r:0}]},{cN:"built_in",b:"\\.\\.?",r:0,c:[h]},{cN:"class",bK:"define",rE:true,e:"\\(|=>",c:[d.inherit(d.TM,{b:d.UIR+"(=(?!>))?"})]}];return{aliases:["ls","lassoscript"],cI:true,l:b+"|&[lg]t;",k:g,c:[{cN:"preprocessor",b:c,r:0,starts:{cN:"markup",e:"\\[|"+i,rE:true,r:0,c:[a]}},j,e,{cN:"preprocessor",b:"\\[no_square_brackets",starts:{e:"\\[/no_square_brackets\\]",l:b+"|&[lg]t;",k:g,c:[{cN:"preprocessor",b:c,r:0,starts:{cN:"markup",e:i,rE:true,c:[a]}},j,e].concat(f)}},{cN:"preprocessor",b:"\\[",r:0},{cN:"shebang",b:"^#!.+lasso9\\b",r:10}].concat(f)}});hljs.registerLanguage("mathematica",function(a){return{aliases:["mma"],l:"(\\$|\\b)"+a.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber",c:[{cN:"comment",b:/\(\*/,e:/\*\)/},a.ASM,a.QSM,a.CNM,{cN:"list",b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("tex",function(a){var d={cN:"command",b:"\\\\[a-zA-Zа-яА-я]+[\\*]?"};var c={cN:"command",b:"\\\\[^a-zA-Zа-яА-я0-9]"};var b={cN:"special",b:"[{}\\[\\]\\&#~]",r:0};return{c:[{b:"\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",rB:true,c:[d,c,{cN:"number",b:" *=",e:"-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",eB:true}],r:10},d,c,b,{cN:"formula",b:"\\$\\$",e:"\\$\\$",c:[d,c,b],r:0},{cN:"formula",b:"\\$",e:"\\$",c:[d,c,b],r:0},{cN:"comment",b:"%",e:"$",r:0}]}});hljs.registerLanguage("cs",function(b){var a="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await ascending descending from get group into join let orderby partial select set value var where yield";return{k:a,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"///|<!--|-->"},{cN:"xmlDocTag",b:"</?",e:">"}]},b.CLCM,b.CBLCLM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},b.ASM,b.QSM,b.CNM,{bK:"protected public private internal",e:/[{;=]/,k:a,c:[{bK:"class namespace interface",starts:{c:[b.TM]}},{b:b.IR+"\\s*\\(",rB:true,c:[b.TM]}]}]}});hljs.registerLanguage("css",function(a){var b="[a-zA-Z-][a-zA-Z0-9_-]*";var c={cN:"function",b:b+"\\(",e:"\\)",c:["self",a.NM,a.ASM,a.QSM]};return{cI:true,i:"[=/|']",c:[a.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:true,eE:true,r:0,c:[c,a.ASM,a.QSM,a.NM]}]},{cN:"tag",b:b,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[c,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}});hljs.registerLanguage("python",function(a){var f={cN:"prompt",b:/^(>>>|\.\.\.) /};var b={cN:"string",c:[a.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[f],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[f],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/,},{b:/(b|br)"/,e:/"/,},a.ASM,a.QSM]};var d={cN:"number",r:0,v:[{b:a.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:a.CNR+"[lLjJ]?"}]};var e={cN:"params",b:/\(/,e:/\)/,c:["self",f,d,b]};var c={e:/:/,i:/[${=;\n]/,c:[a.UTM,e]};return{k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[f,d,b,a.HCM,a.inherit(c,{cN:"function",bK:"def",r:10}),a.inherit(c,{cN:"class",bK:"class"}),{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("profile",function(a){return{c:[a.CNM,{cN:"built_in",b:"{",e:"}$",eB:true,eE:true,c:[a.ASM,a.QSM],r:0},{cN:"filename",b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:true},{cN:"header",b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{cN:"summary",b:"function calls",e:"$",c:[a.CNM],r:10},a.ASM,a.QSM,{cN:"function",b:"\\(",e:"\\)$",c:[a.UTM],r:0}]}});hljs.registerLanguage("django",function(a){var b={cN:"filter",b:/\|[A-Za-z]+\:?/,k:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",c:[{cN:"argument",b:/"/,e:/"/},{cN:"argument",b:/'/,e:/'/}]};return{cI:true,sL:"xml",subLanguageMode:"continuous",c:[{cN:"template_comment",b:/\{%\s*comment\s*%}/,e:/\{%\s*endcomment\s*%}/},{cN:"template_comment",b:/\{#/,e:/#}/},{cN:"template_tag",b:/\{%/,e:/%}/,k:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim",c:[b]},{cN:"variable",b:/\{\{/,e:/}}/,c:[b]}]}});hljs.registerLanguage("nginx",function(c){var b={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+c.UIR}]};var a={eW:true,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[c.HCM,{cN:"string",c:[c.BE,b],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:true,eE:true},{cN:"regexp",c:[c.BE,b],v:[{b:"\\s\\^",e:"\\s|{|;",rE:true},{b:"~\\*?\\s+",e:"\\s|{|;",rE:true},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},b]};return{c:[c.HCM,{b:c.UIR+"\\s",e:";|{",rB:true,c:[c.inherit(c.UTM,{starts:a})],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("smalltalk",function(a){var b="[a-z][a-zA-Z0-9_]*";var d={cN:"char",b:"\\$.{1}"};var c={cN:"symbol",b:"#"+a.UIR};return{k:"self super nil true false thisContext",c:[{cN:"comment",b:'"',e:'"'},a.ASM,{cN:"class",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{cN:"method",b:b+":",r:0},a.CNM,c,d,{cN:"localvars",b:"\\|[ ]*"+b+"([ ]+"+b+")*[ ]*\\|",rB:true,e:/\|/,i:/\S/,c:[{b:"(\\|[ ]*)?"+b}]},{cN:"array",b:"\\#\\(",e:"\\)",c:[a.ASM,d,a.CNM,c]}]}});hljs.registerLanguage("sql",function(a){return{cI:true,i:/[<>]/,c:[{cN:"operator",b:"\\b(begin|end|start|commit|rollback|savepoint|lock|alter|create|drop|rename|call|delete|do|handler|insert|load|replace|select|truncate|update|set|show|pragma|grant|merge)\\b(?!:)",e:";",eW:true,k:{keyword:"all partial global month current_timestamp using go revoke smallint indicator end-exec disconnect zone with character assertion to add current_user usage input local alter match collate real then rollback get read timestamp session_user not integer bit unique day minute desc insert execute like ilike|2 level decimal drop continue isolation found where constraints domain right national some module transaction relative second connect escape close system_user for deferred section cast current sqlstate allocate intersect deallocate numeric public preserve full goto initially asc no key output collation group by union session both last language constraint column of space foreign deferrable prior connection unknown action commit view or first into float year primary cascaded except restrict set references names table outer open select size are rows from prepare distinct leading create only next inner authorization schema corresponding option declare precision immediate else timezone_minute external varying translation true case exception join hour default double scroll value cursor descriptor values dec fetch procedure delete and false int is describe char as at in varchar null trailing any absolute current_time end grant privileges when cross check write current_date pad begin temporary exec time update catalog user sql date on identity timezone_hour natural whenever interval work order cascade diagnostics nchar having left call do handler load replace truncate start lock show pragma exists number trigger if before after each row merge matched database",aggregate:"count sum min max avg"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[a.BE]},a.CNM]},a.CBLCLM,{cN:"comment",b:"--",e:"$"}]}});hljs.registerLanguage("oxygene",function(b){var g="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained";var a={cN:"comment",b:"{",e:"}",r:0};var e={cN:"comment",b:"\\(\\*",e:"\\*\\)",r:10};var c={cN:"string",b:"'",e:"'",c:[{b:"''"}]};var d={cN:"string",b:"(#\\d+)+"};var f={cN:"function",bK:"function constructor destructor procedure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 method|10",c:[b.TM,{cN:"params",b:"\\(",e:"\\)",k:g,c:[c,d]},a,e]};return{cI:true,k:g,i:'("|\\$[G-Zg-z]|\\/\\*|</)',c:[a,e,b.CLCM,c,d,b.NM,f,{cN:"class",b:"=\\bclass\\b",e:"end;",k:g,c:[c,d,a,e,b.CLCM,f]}]}});hljs.registerLanguage("actionscript",function(a){var c="[a-zA-Z_$][a-zA-Z0-9_$]*";var b="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";var d={cN:"rest_arg",b:"[.]{3}",e:c,r:10};return{k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{cN:"package",bK:"package",e:"{",c:[a.TM]},{cN:"class",bK:"class interface",e:"{",c:[{bK:"extends implements"},a.TM]},{cN:"preprocessor",bK:"import include",e:";"},{cN:"function",bK:"function",e:"[{;]",i:"\\S",c:[a.TM,{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,d]},{cN:"type",b:":",e:b,r:10}]}]}});hljs.registerLanguage("ruleslanguage",function(a){return{k:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},c:[a.CLCM,a.CBLCLM,a.ASM,a.QSM,a.CNM,{cN:"array",b:"#[a-zA-Z .]+"}]}});hljs.registerLanguage("mizar",function(a){return{k:["environ vocabularies notations constructors definitions registrations theorems schemes requirements","begin end definition registration cluster existence pred func defpred deffunc theorem proof","let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from","be being by means equals implies iff redefine define now not or attr is mode suppose per cases set","thesis contradiction scheme reserve struct","correctness compatibility coherence symmetry assymetry reflexivity irreflexivity","connectedness uniqueness commutativity idempotence involutiveness projectivity"].join(" "),c:[{cN:"comment",b:"::",e:"$"}]}});hljs.registerLanguage("handlebars",function(b){var a="each in with if else unless bindattr action collection debugger log outlet template unbound view yield";return{cI:true,sL:"xml",subLanguageMode:"continuous",c:[{cN:"expression",b:"{{",e:"}}",c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k:a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"variable",b:"[a-zA-Z-.]+",k:a}]}]}});hljs.registerLanguage("scss",function(a){var c="[a-zA-Z-][a-zA-Z0-9_-]*";var d={cN:"function",b:c+"\\(",e:"\\)",c:["self",a.NM,a.ASM,a.QSM]};var b={cN:"hexcolor",b:"#[0-9A-Fa-f]+"};var e={cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[d,b,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"important",b:"!important"}]}};return{cI:true,i:"[=/|']",c:[a.CLCM,a.CBLCLM,{cN:"function",b:c+"\\(",e:"\\)",c:["self",a.NM,a.ASM,a.QSM]},{cN:"id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{cN:"pseudo",b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{cN:"pseudo",b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{cN:"value",b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{cN:"value",b:":",e:";",c:[b,a.NM,a.QSM,a.ASM,{cN:"important",b:"!important"}]},{cN:"at_rule",b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[d,a.QSM,a.ASM,b,a.NM,{cN:"preprocessor",b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("perl",function(c){var d="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var f={cN:"subst",b:"[$@]\\{",e:"\\}",k:d};var g={b:"->{",e:"}"};var a={cN:"variable",v:[{b:/\$\d/},{b:/[\$\%\@\*](\^\w\b|#\w+(\:\:\w+)*|{\w+}|\w+(\:\:\w*)*)/},{b:/[\$\%\@\*][^\s\w{]/,r:0}]};var e={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var h=[c.BE,f,a];var b=[a,c.HCM,e,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},g,{cN:"string",c:h,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[c.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[c.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+c.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[c.HCM,e,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[c.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];f.c=b;g.c=b;return{k:d,c:b}});hljs.registerLanguage("ini",function(a){return{cI:true,i:/\S/,c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}});hljs.registerLanguage("erlang",function(i){var c="[a-z'][a-zA-Z0-9_']*";var o="("+c+":"+c+"|"+c+")";var f={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun let not of orelse|10 query receive rem try when xor",literal:"false true"};var l={cN:"comment",b:"%",e:"$",r:0};var e={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0};var g={b:"fun\\s+"+c+"/\\d+"};var n={b:o+"\\(",e:"\\)",rB:true,r:0,c:[{cN:"function_name",b:o,r:0},{b:"\\(",e:"\\)",eW:true,rE:true,r:0}]};var h={cN:"tuple",b:"{",e:"}",r:0};var a={cN:"variable",b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0};var m={cN:"variable",b:"[A-Z][a-zA-Z0-9_]*",r:0};var b={b:"#"+i.UIR,r:0,rB:true,c:[{cN:"record_name",b:"#"+i.UIR,r:0},{b:"{",e:"}",r:0}]};var k={bK:"fun receive if try case",e:"end",k:f};k.c=[l,g,i.inherit(i.ASM,{cN:""}),k,n,i.QSM,e,h,a,m,b];var j=[l,g,k,n,i.QSM,e,h,a,m,b];n.c[1].c=j;h.c=j;b.c[1].c=j;var d={cN:"params",b:"\\(",e:"\\)",c:j};return{k:f,i:"(</|\\*=|\\+=|-=|/=|/\\*|\\*/|\\(\\*|\\*\\))",c:[{cN:"function",b:"^"+c+"\\s*\\(",e:"->",rB:true,i:"\\(|#|//|/\\*|\\\\|:|;",c:[d,i.inherit(i.TM,{b:c})],starts:{e:";|\\.",k:f,c:j}},l,{cN:"pp",b:"^-",e:"\\.",r:0,eE:true,rB:true,l:"-"+i.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior",c:[d]},e,i.QSM,b,a,m,h]}});hljs.registerLanguage("1c",function(b){var f="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*";var c="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт";var e="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон";var a={cN:"dquote",b:'""'};var d={cN:"string",b:'"',e:'"|$',c:[a]};var g={cN:"string",b:"\\|",e:'"|$',c:[a]};return{cI:true,l:f,k:{keyword:c,built_in:e},c:[b.CLCM,b.NM,d,g,{cN:"function",b:"(процедура|функция)",e:"$",l:f,k:"процедура функция",c:[b.inherit(b.TM,{b:f}),{cN:"tail",eW:true,c:[{cN:"params",b:"\\(",e:"\\)",l:f,k:"знач",c:[d,g]},{cN:"export",b:"экспорт",eW:true,l:f,k:"экспорт",c:[b.CLCM]}]},b.CLCM]},{cN:"preprocessor",b:"#",e:"$"},{cN:"date",b:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}});hljs.registerLanguage("haskell",function(f){var g={cN:"comment",v:[{b:"--",e:"$"},{b:"{-",e:"-}",c:["self"]}]};var e={cN:"pragma",b:"{-#",e:"#-}"};var b={cN:"preprocessor",b:"^#",e:"$"};var d={cN:"type",b:"\\b[A-Z][\\w']*",r:0};var c={cN:"container",b:"\\(",e:"\\)",i:'"',c:[e,g,b,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},f.inherit(f.TM,{b:"[_a-z][\\w']*"})]};var a={cN:"container",b:"{",e:"}",c:c.c};return{k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{cN:"module",b:"\\bmodule\\b",e:"where",k:"module where",c:[c,g],i:"\\W\\.|;"},{cN:"import",b:"\\bimport\\b",e:"$",k:"import|0 qualified as hiding",c:[c,g],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[d,c,g]},{cN:"typedef",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[e,g,d,c,a]},{cN:"default",bK:"default",e:"$",c:[d,c,g]},{cN:"infix",bK:"infix infixl infixr",e:"$",c:[f.CNM,g]},{cN:"foreign",b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[d,f.QSM,g]},{cN:"shebang",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},e,g,b,f.QSM,f.CNM,d,f.inherit(f.TM,{b:"^[_a-z][\\w']*"}),{b:"->|<-"}]}});hljs.registerLanguage("delphi",function(b){var a="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure";var e={cN:"comment",v:[{b:/\{/,e:/\}/,r:0},{b:/\(\*/,e:/\*\)/,r:10}]};var c={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]};var d={cN:"string",b:/(#\d+)+/};var f={b:b.IR+"\\s*=\\s*class\\s*\\(",rB:true,c:[b.TM]};var g={cN:"function",bK:"function constructor destructor procedure",e:/[:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[b.TM,{cN:"params",b:/\(/,e:/\)/,k:a,c:[c,d]},e]};return{cI:true,k:a,i:/("|\$[G-Zg-z]|\/\*|<\/)/,c:[e,b.CLCM,c,d,b.NM,f,g]}});hljs.registerLanguage("markdown",function(a){return{c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].+?[\\)\\]]",rB:true,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:true,rE:true,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:true,eE:true},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:true,eE:true,}],r:10},{b:"^\\[.+\\]:",e:"$",rB:true,c:[{cN:"link_reference",b:"\\[",e:"\\]",eB:true,eE:true},{cN:"link_url",b:"\\s",e:"$"}]}]}});hljs.registerLanguage("avrasm",function(a){return{cI:true,k:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf"},c:[a.CBLCLM,{cN:"comment",b:";",e:"$",r:0},a.CNM,a.BNM,{cN:"number",b:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},a.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"label",b:"^[A-Za-z0-9_.$]+:"},{cN:"preprocessor",b:"#",e:"$"},{cN:"preprocessor",b:"\\.[a-zA-Z]+"},{cN:"localvars",b:"@[0-9]+"}]}});hljs.registerLanguage("lisp",function(h){var k="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*";var l="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?";var j={cN:"shebang",b:"^#!",e:"$"};var b={cN:"literal",b:"\\b(t{1}|nil)\\b"};var d={cN:"number",v:[{b:l,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"},{b:"#c\\("+l+" +"+l,e:"\\)"}]};var g=h.inherit(h.QSM,{i:null});var m={cN:"comment",b:";",e:"$"};var f={cN:"variable",b:"\\*",e:"\\*"};var n={cN:"keyword",b:"[:&]"+k};var c={b:"\\(",e:"\\)",c:["self",b,g,d]};var a={cN:"quoted",c:[d,g,f,n,c],v:[{b:"['`]\\(",e:"\\)",},{b:"\\(quote ",e:"\\)",k:{title:"quote"},}]};var i={cN:"list",b:"\\(",e:"\\)"};var e={eW:true,r:0};i.c=[{cN:"title",b:k},e];e.c=[a,i,b,d,g,m,f,n];return{i:/\S/,c:[d,j,b,g,m,a,i]}});hljs.registerLanguage("vbnet",function(a){return{cI:true,k:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},i:"//|{|}|endif|gosub|variant|wend",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"comment",b:"'",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"'''|<!--|-->"},{cN:"xmlDocTag",b:"</?",e:">"},]},a.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end region externalsource"},]}});hljs.registerLanguage("axapta",function(a){return{k:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",c:[a.CLCM,a.CBLCLM,a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bK:"class interface",e:"{",i:":",c:[{cN:"inheritance",bK:"extends implements",r:10},a.UTM]}]}});hljs.registerLanguage("ocaml",function(a){return{k:{keyword:"and as assert asr begin class constraint do done downto else end exception external false for fun function functor if in include inherit initializer land lazy let lor lsl lsr lxor match method mod module mutable new object of open or private rec ref sig struct then to true try type val virtual when while with parser value",built_in:"bool char float int list unit array exn option int32 int64 nativeint format4 format6 lazy_t in_channel out_channel string",},i:/\/\//,c:[{cN:"string",b:'"""',e:'"""'},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["self"]},{cN:"class",bK:"type",e:"\\(|=|$",c:[a.UTM]},{cN:"annotation",b:"\\[<",e:">\\]"},a.CBLCLM,a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),a.CNM]}});hljs.registerLanguage("erlang-repl",function(a){return{k:{special_functions:"spawn spawn_link self",reserved:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},c:[{cN:"prompt",b:"^[0-9]+> ",r:10},{cN:"comment",b:"%",e:"$"},{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a.ASM,a.QSM,{cN:"constant",b:"\\?(::)?([A-Z]\\w*(::)?)+"},{cN:"arrow",b:"->"},{cN:"ok",b:"ok"},{cN:"exclamation_mark",b:"!"},{cN:"function_or_atom",b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{cN:"variable",b:"[A-Z][a-zA-Z0-9_']*",r:0}]}});hljs.registerLanguage("vala",function(a){return{k:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},c:[{cN:"class",bK:"class interface delegate namespace",e:"{",i:"[^,:\\n\\s\\.]",c:[a.UTM]},a.CLCM,a.CBLCLM,{cN:"string",b:'"""',e:'"""',r:5},a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"^#",e:"$",r:2},{cN:"constant",b:" [A-Z_]+ ",r:0}]}});hljs.registerLanguage("dos",function(a){return{cI:true,k:{flow:"if else goto for in do call exit not exist errorlevel defined equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del"},c:[{cN:"envvar",b:"%%[^ ]"},{cN:"envvar",b:"%[^ ]+?%"},{cN:"envvar",b:"![^ ]+?!"},{cN:"number",b:"\\b\\d+",r:0},{cN:"comment",b:"@?rem",e:"$"}]}});hljs.registerLanguage("clojure",function(l){var e={built_in:"def cond apply if-not if-let if not not= = < < > <= <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"};var f="[a-zA-Z_0-9\\!\\.\\?\\-\\+\\*\\/\\<\\=\\>\\&\\#\\$';]+";var a="[\\s:\\(\\{]+\\d+(\\.\\d+)?";var d={cN:"number",b:a,r:0};var j=l.inherit(l.QSM,{i:null});var o={cN:"comment",b:";",e:"$",r:0};var n={cN:"collection",b:"[\\[\\{]",e:"[\\]\\}]"};var c={cN:"comment",b:"\\^"+f};var b={cN:"comment",b:"\\^\\{",e:"\\}"};var h={cN:"attribute",b:"[:]"+f};var m={cN:"list",b:"\\(",e:"\\)"};var g={eW:true,k:{literal:"true false nil"},r:0};var i={k:e,l:f,cN:"title",b:f,starts:g};m.c=[{cN:"comment",b:"comment"},i,g];g.c=[m,j,c,b,o,h,n,d];n.c=[m,j,c,o,h,n,d];return{i:/\S/,c:[o,m,{cN:"prompt",b:/^=> /,starts:{e:/\n\n|\Z/}}]}});hljs.registerLanguage("go",function(a){var b={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:b,i:"</",c:[a.CLCM,a.CBLCLM,a.QSM,{cN:"string",b:"'",e:"[^\\\\]'"},{cN:"string",b:"`",e:"`"},{cN:"number",b:"[^a-zA-Z_0-9](\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?",r:0},a.CNM]}});hljs.registerLanguage("json",function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}});hljs.registerLanguage("rust",function(b){var c={cN:"number",b:"\\b(0[xb][A-Za-z0-9_]+|[0-9_]+(\\.[0-9_]+)?([uif](8|16|32|64)?)?)",r:0};var a="assert bool break char check claim comm const cont copy dir do drop else enum extern export f32 f64 fail false float fn for i16 i32 i64 i8 if impl int let log loop match mod move mut priv pub pure ref return self static str struct task true trait type u16 u32 u64 u8 uint unsafe use vec while";return{k:a,i:"</",c:[b.CLCM,b.CBLCLM,b.inherit(b.QSM,{i:null}),b.ASM,c,{cN:"function",bK:"fn",e:"(\\(|<)",c:[b.UTM]},{cN:"preprocessor",b:"#\\[",e:"\\]"},{bK:"type",e:"(=|<)",c:[b.UTM],i:"\\S"},{bK:"trait enum",e:"({|<)",c:[b.UTM],i:"\\S"}]}});hljs.registerLanguage("java",function(b){var a="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws";return{k:a,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}],r:10},b.CLCM,b.CBLCLM,b.ASM,b.QSM,{bK:"protected public private",e:/[{;=]/,k:a,c:[{cN:"class",bK:"class interface",eW:true,i:/[:"<>]/,c:[{bK:"extends implements",r:10},b.UTM]},{b:b.UIR+"\\s*\\(",rB:true,c:[b.UTM]}]},b.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("lua",function(b){var a="\\[=*\\[";var e="\\]=*\\]";var c={b:a,e:e,c:["self"]};var d=[{cN:"comment",b:"--(?!"+a+")",e:"$"},{cN:"comment",b:"--"+a,e:e,c:[c],r:10}];return{l:b.UIR,k:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},c:d.concat([{cN:"function",bK:"function",e:"\\)",c:[b.inherit(b.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:true,c:d}].concat(d)},b.CNM,b.ASM,b.QSM,{cN:"string",b:a,e:e,c:[c],r:10}])}});hljs.registerLanguage("rsl",function(a){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:"</",c:[a.CLCM,a.CBLCLM,a.QSM,a.ASM,a.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"shader",bK:"surface displacement light volume imager",e:"\\("},{cN:"shading",bK:"illuminate illuminance gather",e:"\\("}]}});hljs.registerLanguage("d",function(x){var b={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"};var c="(0|[1-9][\\d_]*)",q="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",h="0[bB][01_]+",v="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",y="0[xX]"+v,p="([eE][+-]?"+q+")",o="("+q+"(\\.\\d*|"+p+")|\\d+\\."+q+q+"|\\."+c+p+"?)",k="(0[xX]("+v+"\\."+v+"|\\.?"+v+")[pP][+-]?"+q+")",l="("+c+"|"+h+"|"+y+")",n="("+k+"|"+o+")";var z="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};";var m={cN:"number",b:"\\b"+l+"(L|u|U|Lu|LU|uL|UL)?",r:0};var j={cN:"number",b:"\\b("+n+"([fF]|L|i|[fF]i|Li)?|"+l+"(i|[fF]i|Li))",r:0};var s={cN:"string",b:"'("+z+"|.)",e:"'",i:"."};var r={b:z,r:0};var w={cN:"string",b:'"',c:[r],e:'"[cwd]?'};var f={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5};var u={cN:"string",b:"`",e:"`[cwd]?"};var i={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10};var t={cN:"string",b:'q"\\{',e:'\\}"'};var e={cN:"shebang",b:"^#!",e:"$",r:5};var g={cN:"preprocessor",b:"#(line)",e:"$",r:5};var d={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"};var a={cN:"comment",b:"\\/\\+",c:["self"],e:"\\+\\/",r:10};return{l:x.UIR,k:b,c:[x.CLCM,x.CBLCLM,a,i,w,f,u,t,j,m,s,e,g,d]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,a.REGEXP_MODE,{b:/</,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBLCLM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("r",function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[a.HCM,{b:b,l:b,k:{keyword:"function if in break next repeat else for return switch while try tryCatch|10 stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...|10",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[a.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("ruby",function(e){var h="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var g="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var a={cN:"yardoctag",b:"@[A-Za-z]+"};var i={cN:"comment",v:[{b:"#",e:"$",c:[a]},{b:"^\\=begin",e:"^\\=end",c:[a],r:10},{b:"^__END__",e:"\\n$"}]};var c={cN:"subst",b:"#\\{",e:"}",k:g};var d={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?<",e:">",r:10},{b:"%[qw]?/",e:"/",r:10},{b:"%[qw]?%",e:"%",r:10},{b:"%[qw]?-",e:"-",r:10},{b:"%[qw]?\\|",e:"\\|",r:10},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]};var b={cN:"params",b:"\\(",e:"\\)",k:g};var f=[d,i,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::)?"+e.IR}]},i]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[e.inherit(e.TM,{b:h}),b,i]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[d,{b:h}],r:0},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[i,{cN:"regexp",c:[e.BE,c],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];c.c=f;b.c=f;return{k:g,c:f}});hljs.registerLanguage("haml",function(a){return{cI:true,c:[{cN:"doctype",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},{cN:"comment",b:"^\\s*(!=#|=#|-#|/).*$",r:0},{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"title",b:"\\w+"},{cN:"value",b:"[#\\.]\\w+"},{b:"{\\s*",e:"\\s*}",eE:true,c:[{b:":\\w+\\s*=>",e:",\\s+",rB:true,eW:true,c:[{cN:"symbol",b:":\\w+"},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:true,c:[{b:"\\w+\\s*=",e:"\\s+",rB:true,eW:true,c:[{cN:"attribute",b:"\\w+",r:0},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]},]}]},{cN:"bullet",b:"^\\s*[=~]\\s*",r:0},{b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("brainfuck",function(b){var a={cN:"literal",b:"[\\+\\-]",r:0};return{c:[{cN:"comment",b:"[^\\[\\]\\.,\\+\\-<> \r\n]",rE:true,e:"[\\[\\]\\.,\\+\\-<> \r\n]",r:0},{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]",r:0},{b:/\+\+|\-\-/,rB:true,c:[a]},a]}});hljs.registerLanguage("matlab",function(a){var b=[a.CNM,{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]}];return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[a.UTM,{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:"\\[",e:"\\]"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",c:b,r:0},{cN:"cell",b:"\\{",e:"\\}'*[\\.']*",c:b,i:/:/},{cN:"comment",b:"\\%",e:"$"}].concat(b)}});hljs.registerLanguage("vbscript",function(a){return{cI:true,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"comment",b:/'/,e:/$/,r:0},a.CNM]}});hljs.registerLanguage("fsharp",function(a){return{k:"abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",c:[{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},{cN:"comment",b:"\\(\\*",e:"\\*\\)"},{cN:"class",bK:"type",e:"\\(|=|$",c:[a.UTM]},{cN:"annotation",b:"\\[<",e:">\\]"},{cN:"attribute",b:"\\B('[A-Za-z])\\b",c:[a.BE]},a.CLCM,a.inherit(a.QSM,{i:null}),a.CNM]}});hljs.registerLanguage("makefile",function(a){var b={cN:"variable",b:/\$\(/,e:/\)/,c:[a.BE]};return{c:[a.HCM,{b:/^\w+\s*\W*=/,rB:true,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:true,starts:{e:/$/,r:0,c:[b],}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,c:[a.QSM,b]}]}});hljs.registerLanguage("diff",function(a){return{c:[{cN:"chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("rib",function(a){return{k:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",i:"</",c:[a.HCM,a.CNM,a.ASM,a.QSM]}});hljs.registerLanguage("http",function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}});hljs.registerLanguage("autohotkey",function(b){var d={cN:"escape",b:"`[\\s\\S]"};var c={cN:"comment",b:";",e:"$",r:0};var a=[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},{cN:"built_in",bK:"ComSpec Clipboard ClipboardAll ErrorLevel"}];return{cI:true,k:{keyword:"Break Continue Else Gosub If Loop Return While",literal:"A true false NOT AND OR"},c:a.concat([d,b.inherit(b.QSM,{c:[d]}),c,{cN:"number",b:b.NR,r:0},{cN:"var_expand",b:"%",e:"%",i:"\\n",c:[d]},{cN:"label",c:[d],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,",r:10}])}});hljs.registerLanguage("php",function(b){var e={cN:"variable",b:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var a={cN:"preprocessor",b:/<\?(php)?|\?>/};var c={cN:"string",c:[b.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},b.inherit(b.ASM,{i:null}),b.inherit(b.QSM,{i:null})]};var d={v:[b.BNM,b.CNM]};return{cI:true,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[b.CLCM,b.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},a]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compiler",l:b.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[b.BE]},a,e,{cN:"function",bK:"function",e:/[;{]/,i:"\\$|\\[|%",c:[b.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e,b.CBLCLM,c,d]}]},{cN:"class",bK:"class interface",e:"{",i:/[:\(\$"]/,c:[{bK:"extends implements",r:10},b.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[b.UTM]},{bK:"use",e:";",c:[b.UTM]},{b:"=>"},c,d]}});hljs.registerLanguage("cmake",function(a){return{cI:true,k:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",operator:"equal less greater strless strgreater strequal matches"},c:[{cN:"envvar",b:"\\${",e:"}"},a.HCM,a.QSM,a.NM]}});hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b.BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/};return{l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0},b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("applescript",function(a){var b=a.inherit(a.QSM,{i:""});var d={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,b]};var c=[{cN:"comment",b:"--",e:"$",},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["self",{b:"--",e:"$"}]},a.HCM];return{k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[b,a.CNM,{cN:"type",b:"\\bPOSIX file\\b"},{cN:"command",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"constant",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{cN:"property",b:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{cN:"function_start",bK:"on",i:"[${=;\\n]",c:[a.UTM,d]}].concat(c),i:"//"}});hljs.registerLanguage("vhdl",function(a){return{cI:true,k:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},i:"{",c:[a.CBLCLM,{cN:"comment",b:"--",e:"$"},a.QSM,a.CNM,{cN:"literal",b:"'(U|X|0|1|Z|W|L|H|-)'",c:[a.BE]},{cN:"attribute",b:"'[A-Za-z](_?[A-Za-z0-9])*",c:[a.BE]}]}});hljs.registerLanguage("parser3",function(a){return{sL:"xml",r:0,c:[{cN:"comment",b:"^#",e:"$"},{cN:"comment",b:"\\^rem{",e:"}",r:10,c:[{b:"{",e:"}",c:["self"]}]},{cN:"preprocessor",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},a.CNM]}});hljs.registerLanguage("scala",function(a){var c={cN:"annotation",b:"@[A-Za-z]+"};var b={cN:"string",b:'u?r?"""',e:'"""',r:10};return{k:"type yield lazy override def with val var false true sealed abstract private trait object null if for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,b,a.ASM,a.QSM,{cN:"class",b:"((case )?class |object |trait )",e:"({|$)",i:":",k:"case class trait object",c:[{bK:"extends with",r:10},a.UTM,{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,b,c]}]},a.CNM,c]}});hljs.registerLanguage("cpp",function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c"],k:b,i:"</",c:[a.CLCM,a.CBLCLM,a.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},a.CNM,{cN:"preprocessor",b:"#",e:"$",c:[{b:"include\\s*<",e:">",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,r:10,c:["self"]}]}}); \ No newline at end of file diff --git a/public/packages/maximebf/php-debugbar/vendor/highlightjs/styles/github.css b/public/packages/maximebf/php-debugbar/vendor/highlightjs/styles/github.css deleted file mode 100644 index 71967a3..0000000 --- a/public/packages/maximebf/php-debugbar/vendor/highlightjs/styles/github.css +++ /dev/null @@ -1,125 +0,0 @@ -/* - -github.com style (c) Vasily Polovnyov <vast@whiteants.net> - -*/ - -.hljs { - display: block; padding: 0.5em; - color: #333; - background: #f8f8f8 -} - -.hljs-comment, -.hljs-template_comment, -.diff .hljs-header, -.hljs-javadoc { - color: #998; - font-style: italic -} - -.hljs-keyword, -.css .rule .hljs-keyword, -.hljs-winutils, -.javascript .hljs-title, -.nginx .hljs-title, -.hljs-subst, -.hljs-request, -.hljs-status { - color: #333; - font-weight: bold -} - -.hljs-number, -.hljs-hexcolor, -.ruby .hljs-constant { - color: #099; -} - -.hljs-string, -.hljs-tag .hljs-value, -.hljs-phpdoc, -.tex .hljs-formula { - color: #d14 -} - -.hljs-title, -.hljs-id, -.coffeescript .hljs-params, -.scss .hljs-preprocessor { - color: #900; - font-weight: bold -} - -.javascript .hljs-title, -.lisp .hljs-title, -.clojure .hljs-title, -.hljs-subst { - font-weight: normal -} - -.hljs-class .hljs-title, -.haskell .hljs-type, -.vhdl .hljs-literal, -.tex .hljs-command { - color: #458; - font-weight: bold -} - -.hljs-tag, -.hljs-tag .hljs-title, -.hljs-rules .hljs-property, -.django .hljs-tag .hljs-keyword { - color: #000080; - font-weight: normal -} - -.hljs-attribute, -.hljs-variable, -.lisp .hljs-body { - color: #008080 -} - -.hljs-regexp { - color: #009926 -} - -.hljs-symbol, -.ruby .hljs-symbol .hljs-string, -.lisp .hljs-keyword, -.tex .hljs-special, -.hljs-prompt { - color: #990073 -} - -.hljs-built_in, -.lisp .hljs-title, -.clojure .hljs-built_in { - color: #0086b3 -} - -.hljs-preprocessor, -.hljs-pragma, -.hljs-pi, -.hljs-doctype, -.hljs-shebang, -.hljs-cdata { - color: #999; - font-weight: bold -} - -.hljs-deletion { - background: #fdd -} - -.hljs-addition { - background: #dfd -} - -.diff .hljs-change { - background: #0086b3 -} - -.hljs-chunk { - color: #aaa -} diff --git a/public/packages/maximebf/php-debugbar/vendor/jquery/dist/jquery.min.js b/public/packages/maximebf/php-debugbar/vendor/jquery/dist/jquery.min.js deleted file mode 100644 index ee1b7d4..0000000 --- a/public/packages/maximebf/php-debugbar/vendor/jquery/dist/jquery.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="<select t=''><option selected=''></option></select>",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=jb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=kb(b);function nb(){}nb.prototype=d.filters=d.pseudos,d.setFilters=new nb;function ob(a,b){var c,e,f,g,h,i,j,k=x[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=Q.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?db.error(a):x(a,i).slice(0)}function pb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f -}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},W=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a>",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=$.test(e)?this.mouseHooks:Z.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||z),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||z,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==db()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===db()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=z.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===L&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&(a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault())?bb:cb):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:cb,isPropagationStopped:cb,isImmediatePropagationStopped:cb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=bb,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=bb,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submitBubbles||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?b.form:void 0;c&&!n._data(c,"submitBubbles")&&(n.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),n._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.changeBubbles||(n.event.special.change={setup:function(){return Y.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),n.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),n.event.simulate("change",this,a,!0)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;Y.test(b.nodeName)&&!n._data(b,"changeBubbles")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a,!0)}),n._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!Y.test(this.nodeName)}}),l.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=cb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return n().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=cb),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});function eb(a){var b=fb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var fb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gb=/ jQuery\d+="(?:null|\d+)"/g,hb=new RegExp("<(?:"+fb+")[\\s/>]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/<tbody/i,mb=/<|&#?\w+;/,nb=/<(?:script|style|link)/i,ob=/checked\s*(?:[^=]|=\s*.checked.)/i,pb=/^$|\/(?:java|ecma)script/i,qb=/^true\/(.*)/,rb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1></$2>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?"<table>"!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Db[0].contentWindow||Db[0].contentDocument).document,b.write(),b.close(),c=Fb(a,b),Db.detach()),Eb[a]=c),c}!function(){var a,b,c=z.createElement("div"),d="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],a.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(a.style.opacity),l.cssFloat=!!a.style.cssFloat,c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===c.style.backgroundClip,a=c=null,l.shrinkWrapBlocks=function(){var a,c,e,f;if(null==b){if(a=z.getElementsByTagName("body")[0],!a)return;f="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",c=z.createElement("div"),e=z.createElement("div"),a.appendChild(c).appendChild(e),b=!1,typeof e.style.zoom!==L&&(e.style.cssText=d+";width:1px;padding:1px;zoom:1",e.innerHTML="<div></div>",e.firstChild.style.width="5px",b=3!==e.offsetWidth),a.removeChild(c),a=c=e=null}return b}}();var Hb=/^margin/,Ib=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Jb,Kb,Lb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Jb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),Ib.test(g)&&Hb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):z.documentElement.currentStyle&&(Jb=function(a){return a.currentStyle},Kb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Jb(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ib.test(g)&&!Lb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Mb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h=z.createElement("div"),i="border:0;width:0;height:0;position:absolute;top:0;left:-9999px",j="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;padding:0;margin:0;border:0";h.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",b=h.getElementsByTagName("a")[0],b.style.cssText="float:left;opacity:.5",l.opacity=/^0.5/.test(b.style.opacity),l.cssFloat=!!b.style.cssFloat,h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,b=h=null,n.extend(l,{reliableHiddenOffsets:function(){if(null!=c)return c;var a,b,d,e=z.createElement("div"),f=z.getElementsByTagName("body")[0];if(f)return e.setAttribute("className","t"),e.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=z.createElement("div"),a.style.cssText=i,f.appendChild(a).appendChild(e),e.innerHTML="<table><tr><td></td><td>t</td></tr></table>",b=e.getElementsByTagName("td"),b[0].style.cssText="padding:0;margin:0;border:0;display:none",d=0===b[0].offsetHeight,b[0].style.display="",b[1].style.display="none",c=d&&0===b[0].offsetHeight,f.removeChild(a),e=f=null,c},boxSizing:function(){return null==d&&k(),d},boxSizingReliable:function(){return null==e&&k(),e},pixelPosition:function(){return null==f&&k(),f},reliableMarginRight:function(){var b,c,d,e;if(null==g&&a.getComputedStyle){if(b=z.getElementsByTagName("body")[0],!b)return;c=z.createElement("div"),d=z.createElement("div"),c.style.cssText=i,b.appendChild(c).appendChild(d),e=d.appendChild(z.createElement("div")),e.style.cssText=d.style.cssText=j,e.style.marginRight=e.style.width="0",d.style.width="1px",g=!parseFloat((a.getComputedStyle(e,null)||{}).marginRight),b.removeChild(c)}return g}});function k(){var b,c,h=z.getElementsByTagName("body")[0];h&&(b=z.createElement("div"),c=z.createElement("div"),b.style.cssText=i,h.appendChild(b).appendChild(c),c.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;display:block;padding:1px;border:1px;width:4px;margin-top:1%;top:1%",n.swap(h,null!=h.style.zoom?{zoom:1}:{},function(){d=4===c.offsetWidth}),e=!0,f=!1,g=!0,a.getComputedStyle&&(f="1%"!==(a.getComputedStyle(c,null)||{}).top,e="4px"===(a.getComputedStyle(c,null)||{width:"4px"}).width),h.removeChild(b),c=h=null)}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Nb=/alpha\([^)]*\)/i,Ob=/opacity\s*=\s*([^)]*)/,Pb=/^(none|table(?!-c[ea]).+)/,Qb=new RegExp("^("+T+")(.*)$","i"),Rb=new RegExp("^([+-])=("+T+")","i"),Sb={position:"absolute",visibility:"hidden",display:"block"},Tb={letterSpacing:0,fontWeight:400},Ub=["Webkit","O","Moz","ms"];function Vb(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ub.length;while(e--)if(b=Ub[e]+c,b in a)return b;return d}function Wb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=n._data(d,"olddisplay",Gb(d.nodeName)))):f[g]||(e=V(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Xb(a,b,c){var d=Qb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Yb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Zb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Jb(a),g=l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Kb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ib.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Yb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Kb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=Vb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Rb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]="",i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Vb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Kb(a,b,d)),"normal"===f&&b in Tb&&(f=Tb[b]),""===c||c?(e=parseFloat(f),c===!0||n.isNumeric(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?0===a.offsetWidth&&Pb.test(n.css(a,"display"))?n.swap(a,Sb,function(){return Zb(a,b,d)}):Zb(a,b,d):void 0},set:function(a,c,d){var e=d&&Jb(a);return Xb(a,c,d?Yb(a,b,d,l.boxSizing()&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Ob.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Nb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Nb.test(f)?f.replace(Nb,e):f+" "+e)}}),n.cssHooks.marginRight=Mb(l.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},Kb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Hb.test(a)||(n.cssHooks[a+b].set=Xb)}),n.fn.extend({css:function(a,b){return W(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Jb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b) -},a,b,arguments.length>1)},show:function(){return Wb(this,!0)},hide:function(){return Wb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function $b(a,b,c,d,e){return new $b.prototype.init(a,b,c,d,e)}n.Tween=$b,$b.prototype={constructor:$b,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=$b.propHooks[this.prop];return a&&a.get?a.get(this):$b.propHooks._default.get(this)},run:function(a){var b,c=$b.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):$b.propHooks._default.set(this),this}},$b.prototype.init.prototype=$b.prototype,$b.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},$b.propHooks.scrollTop=$b.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=$b.prototype.init,n.fx.step={};var _b,ac,bc=/^(?:toggle|show|hide)$/,cc=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),dc=/queueHooks$/,ec=[jc],fc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=cc.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&cc.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function gc(){return setTimeout(function(){_b=void 0}),_b=n.now()}function hc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=U[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function ic(a,b,c){for(var d,e=(fc[b]||[]).concat(fc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function jc(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&V(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k=Gb(a.nodeName),"none"===j&&(j=k),"inline"===j&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==k?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],bc.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}if(!n.isEmptyObject(o)){r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=ic(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function kc(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function lc(a,b,c){var d,e,f=0,g=ec.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=_b||gc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:_b||gc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(kc(k,j.opts.specialEasing);g>f;f++)if(d=ec[f].call(j,a,k,j.opts))return d;return n.map(k,ic,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(lc,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],fc[c]=fc[c]||[],fc[c].unshift(b)},prefilter:function(a,b){b?ec.unshift(a):ec.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=lc(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&dc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(hc(b,!0),a,d,e)}}),n.each({slideDown:hc("show"),slideUp:hc("hide"),slideToggle:hc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(_b=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),_b=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ac||(ac=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(ac),ac=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e=z.createElement("div");e.setAttribute("className","t"),e.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=e.getElementsByTagName("a")[0],c=z.createElement("select"),d=c.appendChild(z.createElement("option")),b=e.getElementsByTagName("input")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==e.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=d.selected,l.enctype=!!z.createElement("form").enctype,c.disabled=!0,l.optDisabled=!d.disabled,b=z.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value,a=b=c=d=e=null}();var mc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(mc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.text(a)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(l.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var nc,oc,pc=n.expr.attrHandle,qc=/^(?:checked|selected)$/i,rc=l.getSetAttribute,sc=l.input;n.fn.extend({attr:function(a,b){return W(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===L?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?oc:nc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(F);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?sc&&rc||!qc.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(rc?c:d)},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),oc={set:function(a,b,c){return b===!1?n.removeAttr(a,c):sc&&rc||!qc.test(c)?a.setAttribute(!rc&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=pc[b]||n.find.attr;pc[b]=sc&&rc||!qc.test(b)?function(a,b,d){var e,f;return d||(f=pc[b],pc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,pc[b]=f),e}:function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),sc&&rc||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):nc&&nc.set(a,b,c)}}),rc||(nc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},pc.id=pc.name=pc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:nc.set},n.attrHooks.contenteditable={set:function(a,b,c){nc.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var tc=/^(?:input|select|textarea|button|object)$/i,uc=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return W(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):tc.test(a.nodeName)||uc.test(a.nodeName)&&a.href?0:-1}}}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var vc=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(F)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(vc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(F)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===L||"boolean"===c)&&(this.className&&n._data(this,"__className__",this.className),this.className=this.className||a===!1?"":n._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(vc," ").indexOf(b)>=0)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var wc=n.now(),xc=/\?/,yc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(yc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var zc,Ac,Bc=/#.*$/,Cc=/([?&])_=[^&]*/,Dc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ec=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fc=/^(?:GET|HEAD)$/,Gc=/^\/\//,Hc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ic={},Jc={},Kc="*/".concat("*");try{Ac=location.href}catch(Lc){Ac=z.createElement("a"),Ac.href="",Ac=Ac.href}zc=Hc.exec(Ac.toLowerCase())||[];function Mc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(F)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nc(a,b,c,d){var e={},f=a===Jc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Oc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Pc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Qc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ac,type:"GET",isLocal:Ec.test(zc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Oc(Oc(a,n.ajaxSettings),b):Oc(n.ajaxSettings,a)},ajaxPrefilter:Mc(Ic),ajaxTransport:Mc(Jc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Dc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||Ac)+"").replace(Bc,"").replace(Gc,zc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(F)||[""],null==k.crossDomain&&(c=Hc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===zc[1]&&c[2]===zc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(zc[3]||("http:"===zc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),Nc(Ic,k,b,v),2===t)return v;h=k.global,h&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Fc.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(xc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Cc.test(e)?e.replace(Cc,"$1_="+wc++):e+(xc.test(e)?"&":"?")+"_="+wc++)),k.ifModified&&(n.lastModified[e]&&v.setRequestHeader("If-Modified-Since",n.lastModified[e]),n.etag[e]&&v.setRequestHeader("If-None-Match",n.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Kc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Nc(Jc,k,b,v)){v.readyState=1,h&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Pc(k,v,c)),u=Qc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(n.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!l.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||n.css(a,"display"))},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var Rc=/%20/g,Sc=/\[\]$/,Tc=/\r?\n/g,Uc=/^(?:submit|button|image|reset|file)$/i,Vc=/^(?:input|select|textarea|keygen)/i;function Wc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Sc.test(a)?d(a,e):Wc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Wc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Wc(c,a[c],b,e);return d.join("&").replace(Rc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Vc.test(this.nodeName)&&!Uc.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Tc,"\r\n")}}):{name:b.name,value:c.replace(Tc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&$c()||_c()}:$c;var Xc=0,Yc={},Zc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Yc)Yc[a](void 0,!0)}),l.cors=!!Zc&&"withCredentials"in Zc,Zc=l.ajax=!!Zc,Zc&&n.ajaxTransport(function(a){if(!a.crossDomain||l.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Xc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Yc[g],b=void 0,f.onreadystatechange=n.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Yc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function $c(){try{return new a.XMLHttpRequest}catch(b){}}function _c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=z.head||n("head")[0]||z.documentElement;return{send:function(d,e){b=z.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var ad=[],bd=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=ad.pop()||n.expando+"_"+wc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(bd.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&bd.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(bd,"$1"+e):b.jsonp!==!1&&(b.url+=(xc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,ad.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||z;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var cd=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&cd)return cd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=a.slice(h,a.length),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&n.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var dd=a.document.documentElement;function ed(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?(typeof e.getBoundingClientRect!==L&&(d=e.getBoundingClientRect()),c=ed(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||dd;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||dd})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return W(this,function(a,d,e){var f=ed(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Mb(l.pixelPosition,function(a,c){return c?(c=Kb(a,b),Ib.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return W(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var fd=a.jQuery,gd=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=gd),b&&a.jQuery===n&&(a.jQuery=fd),n},typeof b===L&&(a.jQuery=a.$=n),n}); -//# sourceMappingURL=jquery.min.map \ No newline at end of file diff --git a/public/packages/maximebf/php-debugbar/widgets.css b/public/packages/maximebf/php-debugbar/widgets.css deleted file mode 100644 index e4dd342..0000000 --- a/public/packages/maximebf/php-debugbar/widgets.css +++ /dev/null @@ -1,186 +0,0 @@ -ul.phpdebugbar-widgets-list { - margin: 0; - padding: 0; - list-style: none; - font-family: monospace; -} - ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item { - padding: 3px 6px; - border-bottom: 1px solid #eee; - position: relative; - overflow: hidden; - } - ul.phpdebugbar-widgets-list li.phpdebugbar-widgets-list-item:hover { - background: #fafafa; - } - -/* -------------------------------------- */ - -div.phpdebugbar-widgets-messages { - position: relative; - height: 100%; -} - div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-list { - padding-bottom: 20px; - } - div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-warning:before { - font-family: FontAwesome; - content: "\f071"; - margin-right: 8px; - font-size: 11px; - color: #ecb03d; - } - div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error { - color: red; - } - div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-value.phpdebugbar-widgets-error:before { - font-family: FontAwesome; - content: "\f057"; - margin-right: 8px; - font-size: 11px; - color: red; - } - div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector, - div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-label { - float: right; - font-size: 12px; - padding: 2px 4px; - color: #888; - margin: 0 2px; - text-decoration: none; - text-shadow: none; - background: none; - font-weight: normal; - } - div.phpdebugbar-widgets-messages li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-collector { - color: #555; - font-style: italic; - } - div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar { - position: fixed; - bottom: 0; - width: 100%; - background: #fff; - } - div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input { - border: 0; - margin: 0; - margin-left: 7px; - width: 50%; - box-shadow: none; - } - div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input:focus { - outline: none; - } - div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter { - float: right; - font-size: 12px; - padding: 2px 4px; - background: #7cacd5; - margin: 0 2px; - border-radius: 4px; - color: #fff; - text-decoration: none; - } - div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar a.phpdebugbar-widgets-filter.phpdebugbar-widgets-excluded { - background: #eee; - color: #888; - } - -/* -------------------------------------- */ - -dl.phpdebugbar-widgets-kvlist { - margin: 0; -} - dl.phpdebugbar-widgets-kvlist dt { - float: left; - width: 150px; - padding: 5px; - border-top: 1px solid #eee; - font-weight: bold; - clear: both; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } - dl.phpdebugbar-widgets-kvlist dd { - margin-left: 160px; - padding: 5px; - border-top: 1px solid #eee; - cursor: pointer; - min-height: 17px; - } - -/* -------------------------------------- */ - -dl.phpdebugbar-widgets-varlist { - font-family: monospace; -} - -/* -------------------------------------- */ - -ul.phpdebugbar-widgets-timeline { - margin: 0; - padding: 0; - list-style: none; -} - ul.phpdebugbar-widgets-timeline li { - height: 20px; - position: relative; - border-bottom: 1px solid #eee; - display: block; - } - ul.phpdebugbar-widgets-timeline li:hover { - background: #fafafa; - } - ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-label { - position: absolute; - font-size: 12px; - font-family: monospace; - color: #555; - top: 4px; - left: 5px; - background: none; - text-shadow: none; - font-weight: normal; - } - ul.phpdebugbar-widgets-timeline li span.phpdebugbar-widgets-value { - display: block; - position: absolute; - height: 10px; - background: #3db9ec; - top: 5px; - border-radius: 2px; - } - -/* -------------------------------------- */ - -div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item { - cursor: pointer; -} - div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-message { - display: block; - color: red; - } - - div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-filename { - display: block; - font-style: italic; - color: #555; - } - - div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-type { - display: block; - position: absolute; - right: 4px; - top: 4px; - font-weight: bold; - } - - div.phpdebugbar-widgets-exceptions li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-file { - display: none; - margin: 10px; - padding: 5px; - border: 1px solid #ddd; - font-family: monospace; - } diff --git a/public/packages/maximebf/php-debugbar/widgets.js b/public/packages/maximebf/php-debugbar/widgets.js deleted file mode 100644 index a3ba2b9..0000000 --- a/public/packages/maximebf/php-debugbar/widgets.js +++ /dev/null @@ -1,430 +0,0 @@ -if (typeof(PhpDebugBar) == 'undefined') { - // namespace - var PhpDebugBar = {}; - PhpDebugBar.$ = jQuery; -} - -(function($) { - - /** - * @namespace - */ - PhpDebugBar.Widgets = {}; - - /** - * Replaces spaces with and line breaks with <br> - * - * @param {String} text - * @return {String} - */ - var htmlize = PhpDebugBar.Widgets.htmlize = function(text) { - return text.replace(/\n/g, '<br>').replace(/\s/g, " ") - }; - - /** - * Returns a string representation of value, using JSON.stringify - * if it's an object. - * - * @param {Object} value - * @param {Boolean} prettify Uses htmlize() if true - * @return {String} - */ - var renderValue = PhpDebugBar.Widgets.renderValue = function(value, prettify) { - if (typeof(value) !== 'string') { - if (prettify) { - return htmlize(JSON.stringify(value, undefined, 2)); - } - return JSON.stringify(value); - } - return value; - }; - - /** - * Highlights a block of code - * - * @param {String} code - * @param {String} lang - * @return {String} - */ - var highlight = PhpDebugBar.Widgets.highlight = function(code, lang) { - if (typeof(code) === 'string') { - if (typeof(hljs) === 'undefined') { - return htmlize(code); - } - if (lang) { - return hljs.highlight(lang, code).value; - } - return hljs.highlightAuto(code).value; - } - - if (typeof(hljs) === 'object') { - code.each(function(i, e) { hljs.highlightBlock(e); }); - } - return code; - }; - - /** - * Creates a <pre> element with a block of code - * - * @param {String} code - * @param {String} lang - * @return {String} - */ - var createCodeBlock = PhpDebugBar.Widgets.createCodeBlock = function(code, lang) { - var pre = $('<pre />'); - $('<code />').text(code).appendTo(pre); - if (lang) { - pre.addClass("language-" + lang); - } - highlight(pre); - return pre; - }; - - var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-'); - - - // ------------------------------------------------------------------ - // Generic widgets - // ------------------------------------------------------------------ - - /** - * Displays array element in a <ul> list - * - * Options: - * - data - * - itemRenderer: a function used to render list items (optional) - */ - var ListWidget = PhpDebugBar.Widgets.ListWidget = PhpDebugBar.Widget.extend({ - - tagName: 'ul', - - className: csscls('list'), - - initialize: function(options) { - if (!options['itemRenderer']) { - options['itemRenderer'] = this.itemRenderer; - } - this.set(options); - }, - - render: function() { - this.bindAttr(['itemRenderer', 'data'], function() { - this.$el.empty(); - if (!this.has('data')) { - return; - } - - var data = this.get('data'); - for (var i = 0; i < data.length; i++) { - var li = $('<li />').addClass(csscls('list-item')).appendTo(this.$el); - this.get('itemRenderer')(li, data[i]); - } - }); - }, - - /** - * Renders the content of a <li> element - * - * @param {jQuery} li The <li> element as a jQuery Object - * @param {Object} value An item from the data array - */ - itemRenderer: function(li, value) { - li.html(renderValue(value)); - } - - }); - - // ------------------------------------------------------------------ - - /** - * Displays object property/value paris in a <dl> list - * - * Options: - * - data - * - itemRenderer: a function used to render list items (optional) - */ - var KVListWidget = PhpDebugBar.Widgets.KVListWidget = ListWidget.extend({ - - tagName: 'dl', - - className: csscls('kvlist'), - - render: function() { - this.bindAttr(['itemRenderer', 'data'], function() { - this.$el.empty(); - if (!this.has('data')) { - return; - } - - var self = this; - $.each(this.get('data'), function(key, value) { - var dt = $('<dt />').addClass(csscls('key')).appendTo(self.$el); - var dd = $('<dd />').addClass(csscls('value')).appendTo(self.$el); - self.get('itemRenderer')(dt, dd, key, value); - }); - }); - }, - - /** - * Renders the content of the <dt> and <dd> elements - * - * @param {jQuery} dt The <dt> element as a jQuery Object - * @param {jQuery} dd The <dd> element as a jQuery Object - * @param {String} key Property name - * @param {Object} value Property value - */ - itemRenderer: function(dt, dd, key, value) { - dt.text(key); - dd.html(htmlize(value)); - } - - }); - - // ------------------------------------------------------------------ - - /** - * An extension of KVListWidget where the data represents a list - * of variables - * - * Options: - * - data - */ - var VariableListWidget = PhpDebugBar.Widgets.VariableListWidget = KVListWidget.extend({ - - className: csscls('kvlist varlist'), - - itemRenderer: function(dt, dd, key, value) { - $('<span />').attr('title', key).text(key).appendTo(dt); - - var v = value; - if (v && v.length > 100) { - v = v.substr(0, 100) + "..."; - } - var prettyVal = null; - dd.text(v).click(function() { - if (dd.hasClass(csscls('pretty'))) { - dd.text(v).removeClass(csscls('pretty')); - } else { - prettyVal = prettyVal || createCodeBlock(value); - dd.addClass(csscls('pretty')).empty().append(prettyVal); - } - }); - } - - }); - - // ------------------------------------------------------------------ - - /** - * Iframe widget - * - * Options: - * - data - */ - var IFrameWidget = PhpDebugBar.Widgets.IFrameWidget = PhpDebugBar.Widget.extend({ - - tagName: 'iframe', - - className: csscls('iframe'), - - render: function() { - this.$el.attr({ - seamless: "seamless", - border: "0", - width: "100%", - height: "100%" - }); - this.bindAttr('data', function(url) { this.$el.attr('src', url); }); - } - - }); - - - // ------------------------------------------------------------------ - // Collector specific widgets - // ------------------------------------------------------------------ - - /** - * Widget for the MessagesCollector - * - * Uses ListWidget under the hood - * - * Options: - * - data - */ - var MessagesWidget = PhpDebugBar.Widgets.MessagesWidget = PhpDebugBar.Widget.extend({ - - className: csscls('messages'), - - render: function() { - var self = this; - - this.$list = new ListWidget({ itemRenderer: function(li, value) { - var m = value.message; - if (m.length > 100) { - m = m.substr(0, 100) + "..."; - } - - var val = $('<span />').addClass(csscls('value')).text(m).appendTo(li); - if (!value.is_string || value.message.length > 100) { - var prettyVal = value.message; - if (!value.is_string) { - prettyVal = null; - } - li.css('cursor', 'pointer').click(function() { - if (val.hasClass(csscls('pretty'))) { - val.text(m).removeClass(csscls('pretty')); - } else { - prettyVal = prettyVal || createCodeBlock(value.message, 'php'); - val.addClass(csscls('pretty')).empty().append(prettyVal); - } - }); - } - - if (value.label) { - val.addClass(csscls(value.label)); - $('<span />').addClass(csscls('label')).text(value.label).appendTo(li); - } - if (value.collector) { - $('<span />').addClass(csscls('collector')).text(value.collector).appendTo(li); - } - }}); - - this.$list.$el.appendTo(this.$el); - this.$toolbar = $('<div><i class="fa fa-search"></i></div>').addClass(csscls('toolbar')).appendTo(this.$el); - - $('<input type="text" />') - .on('change', function() { self.set('search', this.value); }) - .appendTo(this.$toolbar); - - this.bindAttr('data', function(data) { - this.set({ exclude: [], search: '' }); - this.$toolbar.find(csscls('.filter')).remove(); - - var filters = [], self = this; - for (var i = 0; i < data.length; i++) { - if (!data[i].label || $.inArray(data[i].label, filters) > -1) { - continue; - } - filters.push(data[i].label); - $('<a href="javascript:" />') - .addClass(csscls('filter')) - .text(data[i].label) - .attr('rel', data[i].label) - .on('click', function() { self.onFilterClick(this); }) - .appendTo(this.$toolbar); - } - }); - - this.bindAttr(['exclude', 'search'], function() { - var data = this.get('data'), - exclude = this.get('exclude'), - search = this.get('search'), - fdata = []; - - for (var i = 0; i < data.length; i++) { - if ((!data[i].label || $.inArray(data[i].label, exclude) === -1) && (!search || data[i].message.indexOf(search) > -1)) { - fdata.push(data[i]); - } - } - - this.$list.set('data', fdata); - }); - }, - - onFilterClick: function(el) { - $(el).toggleClass(csscls('excluded')); - - var excludedLabels = []; - this.$toolbar.find(csscls('.filter') + csscls('.excluded')).each(function() { - excludedLabels.push(this.rel); - }); - - this.set('exclude', excludedLabels); - } - - }); - - // ------------------------------------------------------------------ - - /** - * Widget for the TimeDataCollector - * - * Options: - * - data - */ - var TimelineWidget = PhpDebugBar.Widgets.TimelineWidget = PhpDebugBar.Widget.extend({ - - tagName: 'ul', - - className: csscls('timeline'), - - render: function() { - this.bindAttr('data', function(data) { - this.$el.empty(); - if (data.measures) { - for (var i = 0; i < data.measures.length; i++) { - var li = $('<li />').addClass(csscls('measure')), - left = Math.round(data.measures[i].relative_start * 100 / data.duration), - width = Math.min(Math.round(data.measures[i].duration * 100 / data.duration), 100 - left); - - li.append($('<span />').addClass(csscls('value')).css({ - left: left + "%", - width: width + "%" - })); - li.append($('<span />').addClass(csscls('label')).text(data.measures[i].label + " (" + data.measures[i].duration_str + ")")); - this.$el.append(li); - } - } - }); - } - - }); - - // ------------------------------------------------------------------ - - /** - * Widget for the displaying exceptions - * - * Options: - * - data - */ - var ExceptionsWidget = PhpDebugBar.Widgets.ExceptionsWidget = PhpDebugBar.Widget.extend({ - - className: csscls('exceptions'), - - render: function() { - this.$list = new ListWidget({ itemRenderer: function(li, e) { - $('<span />').addClass(csscls('message')).text(e.message).appendTo(li); - if (e.file) { - $('<span />').addClass(csscls('filename')).text(e.file + "#" + e.line).appendTo(li); - } - if (e.type) { - $('<span />').addClass(csscls('type')).text(e.type).appendTo(li); - } - if (e.surrounding_lines) { - var pre = createCodeBlock(e.surrounding_lines.join(""), 'php').addClass(csscls('file')).appendTo(li); - li.click(function() { - if (pre.is(':visible')) { - pre.hide(); - } else { - pre.show(); - } - }); - } - }}); - this.$list.$el.appendTo(this.$el); - - this.bindAttr('data', function(data) { - this.$list.set('data', data); - if (data.length == 1) { - this.$list.$el.children().first().find(csscls('.file')).show(); - } - }); - - } - - }); - - -})(PhpDebugBar.$); diff --git a/public/packages/maximebf/php-debugbar/widgets/mails/widget.css b/public/packages/maximebf/php-debugbar/widgets/mails/widget.css deleted file mode 100644 index a43957a..0000000 --- a/public/packages/maximebf/php-debugbar/widgets/mails/widget.css +++ /dev/null @@ -1,12 +0,0 @@ - -div.phpdebugbar-widgets-mails span.phpdebugbar-widgets-subject { - display: block; -} - -div.phpdebugbar-widgets-mails li.phpdebugbar-widgets-list-item pre.phpdebugbar-widgets-headers { - display: none; - margin: 10px; - padding: 5px; - border: 1px solid #ddd; - font-family: monospace; -} diff --git a/public/packages/maximebf/php-debugbar/widgets/mails/widget.js b/public/packages/maximebf/php-debugbar/widgets/mails/widget.js deleted file mode 100644 index 7a1a694..0000000 --- a/public/packages/maximebf/php-debugbar/widgets/mails/widget.js +++ /dev/null @@ -1,40 +0,0 @@ -(function($) { - - var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-'); - - /** - * Widget for the displaying mails data - * - * Options: - * - data - */ - var MailsWidget = PhpDebugBar.Widgets.MailsWidget = PhpDebugBar.Widget.extend({ - - className: csscls('mails'), - - render: function() { - this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, mail) { - $('<span />').addClass(csscls('subject')).text(mail.subject).appendTo(li); - $('<span />').addClass(csscls('to')).text(mail.to).appendTo(li); - if (mail.headers) { - var headers = $('<pre />').addClass(csscls('headers')).appendTo(li); - $('<code />').text(mail.headers).appendTo(headers); - li.click(function() { - if (headers.is(':visible')) { - headers.hide(); - } else { - headers.show(); - } - }); - } - }}); - this.$list.$el.appendTo(this.$el); - - this.bindAttr('data', function(data) { - this.$list.set('data', data); - }); - } - - }); - -})(PhpDebugBar.$); diff --git a/public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.css b/public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.css deleted file mode 100644 index e4eced5..0000000 --- a/public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.css +++ /dev/null @@ -1,82 +0,0 @@ -div.phpdebugbar-widgets-sqlqueries .phpdebugbar-widgets-status { - font-family: monospace; - padding: 6px 6px; - border-bottom: 1px solid #ddd; - font-weight: bold; - color: #555; - background: #fafafa; -} - -div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-error { - color: red; -} - -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration, -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory, -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count, -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id { - float: right; - margin-left: 8px; - color: #888; -} -div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-duration, -div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-memory, -div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-row-count, -div.phpdebugbar-widgets-sqlqueries div.phpdebugbar-widgets-status span.phpdebugbar-widgets-stmt-id { - color: #555; -} -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before, -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before, -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before, -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before { - font-family: FontAwesome; - margin-right: 4px; - font-size: 12px; -} -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-duration:before { - content: "\f017"; -} -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-memory:before { - content: "\f085"; -} -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-row-count:before { - content: "\f0ce"; -} -div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before { - content: "\f08d"; -} -div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params { - display: none; - width: 70%; - margin: 10px; - border: 1px solid #ddd; - font-family: monospace; - border-collapse: collapse; -} - div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params td { - border: 1px solid #ddd; - text-align: center; - } - div.phpdebugbar-widgets-sqlqueries table.phpdebugbar-widgets-params .phpdebugbar-widgets-name { - width: 20%; - font-weight: bold; - } - -div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item span.phpdebugbar-widgets-error { - display: block; - font-weight: bold; -} - -code.phpdebugbar-widgets-sql { - white-space: pre-wrap; - overflow-wrap: break-word; - word-wrap: break-word; -} - -div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate { - background-color: #ffd; -} - -div.phpdebugbar-widgets-sqlqueries li.phpdebugbar-widgets-list-item.phpdebugbar-widgets-sql-duplicate:hover { - background-color: #ffc; -} diff --git a/public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.js b/public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.js deleted file mode 100644 index f849fee..0000000 --- a/public/packages/maximebf/php-debugbar/widgets/sqlqueries/widget.js +++ /dev/null @@ -1,94 +0,0 @@ -(function($) { - - var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-'); - - /** - * Widget for the displaying sql queries - * - * Options: - * - data - */ - var SQLQueriesWidget = PhpDebugBar.Widgets.SQLQueriesWidget = PhpDebugBar.Widget.extend({ - - className: csscls('sqlqueries'), - - render: function() { - this.$status = $('<div />').addClass(csscls('status')).appendTo(this.$el); - - this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, stmt) { - $('<code />').addClass(csscls('sql')).html(PhpDebugBar.Widgets.highlight(stmt.sql, 'sql')).appendTo(li); - if (stmt.duration_str) { - $('<span title="Duration" />').addClass(csscls('duration')).text(stmt.duration_str).appendTo(li); - } - if (stmt.memory_str) { - $('<span title="Memory usage" />').addClass(csscls('memory')).text(stmt.memory_str).appendTo(li); - } - if (typeof(stmt.is_success) != 'undefined' && !stmt.is_success) { - li.addClass(csscls('error')); - li.append($('<span />').addClass(csscls('error')).text("[" + stmt.error_code + "] " + stmt.error_message)); - } else if (typeof(stmt.row_count) != 'undefined') { - $('<span title="Row count" />').addClass(csscls('row-count')).text(stmt.row_count).appendTo(li); - } - if (typeof(stmt.stmt_id) != 'undefined' && stmt.stmt_id) { - $('<span title="Prepared statement ID" />').addClass(csscls('stmt-id')).text(stmt.stmt_id).appendTo(li); - } - if (stmt.params && !$.isEmptyObject(stmt.params)) { - var table = $('<table><tr><th colspan="2">Params</th></tr></table>').addClass(csscls('params')).appendTo(li); - for (var key in stmt.params) { - table.append('<tr><td class="' + csscls('name') + '">' + key + '</td><td class="' + csscls('value') + - '">' + stmt.params[key] + '</td></tr>'); - } - li.css('cursor', 'pointer').click(function() { - if (table.is(':visible')) { - table.hide(); - } else { - table.show(); - } - }); - } - }}); - this.$list.$el.appendTo(this.$el); - - this.bindAttr('data', function(data) { - this.$list.set('data', data.statements); - this.$status.empty(); - - // Search for duplicate statements. - for (var sql = {}, duplicate = 0, i = 0; i < data.statements.length; i++) { - var stmt = data.statements[i].sql; - if (data.statements[i].params && !$.isEmptyObject(data.statements[i].params)) { - stmt += ' {' + $.param(data.statements[i].params, false) + '}'; - } - sql[stmt] = sql[stmt] || { keys: [] }; - sql[stmt].keys.push(i); - } - // Add classes to all duplicate SQL statements. - for (var stmt in sql) { - if (sql[stmt].keys.length > 1) { - duplicate++; - for (var i = 0; i < sql[stmt].keys.length; i++) { - this.$list.$el.find('.' + csscls('list-item')).eq(sql[stmt].keys[i]) - .addClass(csscls('sql-duplicate')).addClass(csscls('sql-duplicate-'+duplicate)); - } - } - } - - var t = $('<span />').text(data.nb_statements + " statements were executed").appendTo(this.$status); - if (data.nb_failed_statements) { - t.append(", " + data.nb_failed_statements + " of which failed"); - } - if (duplicate) { - t.append(", " + duplicate + " of which were duplicated"); - } - if (data.accumulated_duration_str) { - this.$status.append($('<span title="Accumulated duration" />').addClass(csscls('duration')).text(data.accumulated_duration_str)); - } - if (data.memory_usage_str) { - this.$status.append($('<span title="Memory usage" />').addClass(csscls('memory')).text(data.memory_usage_str)); - } - }); - } - - }); - -})(PhpDebugBar.$); diff --git a/public/packages/maximebf/php-debugbar/widgets/templates/widget.css b/public/packages/maximebf/php-debugbar/widgets/templates/widget.css deleted file mode 100644 index fde40c8..0000000 --- a/public/packages/maximebf/php-debugbar/widgets/templates/widget.css +++ /dev/null @@ -1,23 +0,0 @@ - -div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status { - font-family: monospace; - padding: 6px 6px; - border-bottom: 1px solid #ddd; - font-weight: bold; - color: #555; - background: #fafafa; -} - -div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render_time { - float: right; -} -div.phpdebugbar-widgets-templates span.phpdebugbar-widgets-render_time:before { - content: "\f017"; - font-family: FontAwesome; - font-size: 12px; - margin-right: 4px; -} - -div.phpdebugbar-widgets-templates div.phpdebugbar-widgets-status span.phpdebugbar-widgets-render_time { - color: #555; -} \ No newline at end of file diff --git a/public/packages/maximebf/php-debugbar/widgets/templates/widget.js b/public/packages/maximebf/php-debugbar/widgets/templates/widget.js deleted file mode 100644 index 6fdecbe..0000000 --- a/public/packages/maximebf/php-debugbar/widgets/templates/widget.js +++ /dev/null @@ -1,38 +0,0 @@ -(function($) { - - var csscls = PhpDebugBar.utils.makecsscls('phpdebugbar-widgets-'); - - /** - * Widget for the displaying templates data - * - * Options: - * - data - */ - var TemplatesWidget = PhpDebugBar.Widgets.TemplatesWidget = PhpDebugBar.Widget.extend({ - - className: csscls('templates'), - - render: function() { - this.$status = $('<div />').addClass(csscls('status')).appendTo(this.$el); - - this.$list = new PhpDebugBar.Widgets.ListWidget({ itemRenderer: function(li, tpl) { - $('<span />').addClass(csscls('name')).text(tpl.name).appendTo(li); - if (tpl.render_time_str) { - $('<span title="Render time" />').addClass(csscls('render_time')).text(tpl.render_time_str).appendTo(li); - } - }}); - this.$list.$el.appendTo(this.$el); - - this.bindAttr('data', function(data) { - this.$list.set('data', data.templates); - var sentence = data.sentence || "templates were rendered"; - this.$status.empty().append($('<span />').text(data.templates.length + " " + sentence)); - if (data.accumulated_render_time_str) { - this.$status.append($('<span title="Accumulated render time" />').addClass(csscls('render_time')).text(data.accumulated_render_time_str)); - } - }); - } - - }); - -})(PhpDebugBar.$); \ No newline at end of file diff --git a/public/robots.txt b/public/robots.txt deleted file mode 100644 index eb05362..0000000 --- a/public/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: diff --git a/readme.md b/readme.md deleted file mode 100644 index 40ea7ee..0000000 --- a/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -## Laravel PHP Framework - -[![Build Status](https://travis-ci.org/laravel/framework.svg)](https://travis-ci.org/laravel/framework) -[![Total Downloads](https://poser.pugx.org/laravel/framework/downloads.svg)](https://packagist.org/packages/laravel/framework) -[![Latest Stable Version](https://poser.pugx.org/laravel/framework/v/stable.svg)](https://packagist.org/packages/laravel/framework) -[![Latest Unstable Version](https://poser.pugx.org/laravel/framework/v/unstable.svg)](https://packagist.org/packages/laravel/framework) -[![License](https://poser.pugx.org/laravel/framework/license.svg)](https://packagist.org/packages/laravel/framework) - -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching. - -Laravel aims to make the development process a pleasing one for the developer without sacrificing application functionality. Happy developers make the best code. To this end, we've attempted to combine the very best of what we have seen in other web frameworks, including frameworks implemented in other languages, such as Ruby on Rails, ASP.NET MVC, and Sinatra. - -Laravel is accessible, yet powerful, providing powerful tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked. - -## Official Documentation - -Documentation for the entire framework can be found on the [Laravel website](http://laravel.com/docs). - -### Contributing To Laravel - -**All issues and pull requests should be filed on the [laravel/framework](http://github.com/laravel/framework) repository.** - -### License - -The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT) diff --git a/server.php b/server.php deleted file mode 100644 index 5f187f3..0000000 --- a/server.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); - -$uri = urldecode($uri); - -$paths = require __DIR__.'/bootstrap/paths.php'; - -$requested = $paths['public'].$uri; - -// This file allows us to emulate Apache's "mod_rewrite" functionality from the -// built-in PHP web server. This provides a convenient way to test a Laravel -// application without having installed a "real" web server software here. -if ($uri !== '/' and file_exists($requested)) -{ - return false; -} - -require_once $paths['public'].'/index.php'; diff --git a/social/cron.php b/social/cron.php new file mode 100755 index 0000000..cc91815 --- /dev/null +++ b/social/cron.php @@ -0,0 +1,144 @@ +<html> +<head> +<meta charset="UTF-8"> +</head> +<body> +<?php + + function initialize() { + require_once '/home/aurimas/domains/seime.lt/public_html/includes/includes.php'; + define('BASE_DIR','/home/aurimas/domains/lplius.lt/public_html/seime.lt-backend/'); + setlocale(LC_TIME, 'lt_LT.UTF8'); + mb_internal_encoding('UTF-8'); + + require_once BASE_DIR . 'classes/utilities.php'; + require_once BASE_DIR . 'classes/Factory.php'; + require_once BASE_DIR . 'classes/abstractions.php'; + require_once BASE_DIR . 'classes/Sesija.php'; + require_once BASE_DIR . 'classes/Posedis.php'; + require_once BASE_DIR . 'classes/Question.php'; + require_once BASE_DIR . 'classes/Action.php'; + require_once BASE_DIR . 'extensions/QuestionParticipation.php'; + require_once BASE_DIR . 'extensions/RegistrationLink.php'; + require_once BASE_DIR . 'extensions/SittingStats.php'; + require_once BASE_DIR . 'extensions/QuestionStats.php'; + require_once BASE_DIR . 'classes/Updater.php'; + require_once '/home/aurimas/domains/seime.lt/public_html/includes/handler_functions.php'; + + Initialisator::initialise(); + Initialisator::$settings['mysql']['username'] = 'aurimas'; + Initialisator::$settings['mysql']['password'] = 'windows1257'; + $db_params = Initialisator::$settings['mysql']; + $sql_params = array('mysql:dbname=' . $db_params['db'] . ';host=' . $db_params['host'] . '', $db_params['username'], $db_params['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); + $allowed_types = array('session' => 'Session', 'sitting' => 'SittingStats', 'question' => 'QuestionStats', 'action' => 'RegistrationLink'); + $db = Initialisator::getDB(); + if (!($db instanceof DB)) throw new Exception('Database error'); + return array($db, Factory::getInstance($sql_params, $allowed_types)); + } + + function get_not_posted_sittings($db) { + return $db->getArray(" + SELECT id FROM sittings + WHERE NOT EXISTS (SELECT 1 FROM posted_statistics WHERE id = sittings_id) + AND end_time <> '0000-00-00 00:00:00' + ORDER BY id DESC + LIMIT 5", array()); + } + + function initialize_curl() { + $ch = curl_init(); + $secret = md5('BaltasisAnciuvis' . date('Y-m-d H')); + curl_setopt($ch, CURLOPT_URL,'http://trumpai.seime.lt/wp-content/plugins/remote-publishing/post.php?secret=' . $secret); + curl_setopt($ch, CURLOPT_POST, TRUE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); + return $ch; + } + + function get_template_dom(Sitting $sitting, Session $session) { + ob_start(); + include(dirname(__FILE__) . '/template.php'); + $html = ob_get_clean(); + $dom = new DOMDocument('1.0', 'UTF-8'); + $html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8"); + $dom->loadHTML($html); + return $dom; + } + + function get_mentioned_members(DOMDocument $dom) { + $xpath = new DOMXPath($dom); + $members = array(); + $members_results = $xpath->query("//a[contains(@href,'nariai')]"); + foreach($members_results as $m) { if (!in_array($m->nodeValue, $members)) $members[] = $m->nodeValue; } + return $members; + } + + function get_tweets(Sitting $sitting) { + $tweets[] = sprintf('Posėdis truko %1$s (įskaitant pertraukas), jame pasisakė %2$s Seimo %3$s. Balsuota %4$s %5$s (%6$s)', + $sitting->getLength(), + $sitting->getMemberStats('speakers'), + __ending($sitting->getMemberStats('speakers')), + $sitting->getVotings('all'), + __ending($sitting->getVotings('all'), array('kartų', 'kartą', 'kartus')), + date("Y-m-d",strtotime($sitting->getEndTime())) + ); + $tweets[] = sprintf('Visuose posėdžio balsavimuose dalyvavo %1$s Seimo %2$s. Mažiau nei 30%% laiko posėdyje buvo %3$s Seimo %4$s (%5$s)', + $sitting->getMemberStats('full-attendance'), + __ending($sitting->getMemberStats('full-attendance')), + $sitting->getMemberStats('short-attendance'), + __ending($sitting->getMemberStats('short-attendance')), + date("Y-m-d",strtotime($sitting->getEndTime())) + ); + $tweets[] = sprintf('Oficialiai posėdyje dalyvavo %1$s Seimo %2$s. Seime.lt duomenimis, Seimo nariai posėdyje buvo %3$s%% laiko (%4$s)', + $sitting->participation('participated'), + __ending($sitting->participation('participated')), + $sitting->participation('time-based'), + date("Y-m-d",strtotime($sitting->getEndTime())) + ); + return $tweets; + } + + function get_fb_text(DOMDocument $dom, Sitting $sitting) { + $text = array(); + $xpath = new DOMXpath($dom); + $results = $xpath->query('//ul[@id="general-info"]/li'); + foreach($results as $r) { $text[] = DOMInnerHTML($r); } + array_pop($text); + $text = implode(" ", $text); + $text = html_entity_decode($text, ENT_NOQUOTES, 'UTF-8'); + return str_replace(array('<a', '<em', 'a>'), array(' <a', ' <em', 'a> '), $text); //fix for eaten spaces by DOMInnerHTML monster + } + + try { + list($db, $Factory) = initialize(); + $sittings = get_not_posted_sittings($db); + if ($sittings !== array()) { + $ch = initialize_curl(); + foreach ($sittings as $a) { //generate html files for each of the sittings + $sitting = $Factory->getObject('sitting', '', (int) $a['id']); + $session = $Factory->getObject('session', '', $sitting->getSessionID('getId')); + $dom = get_template_dom($sitting, $session); + $data = array( + 'title' => $sitting->getTitle(), + 'slug' => $sitting->getTitle(), + 'category_name' => $session->getNumber() . ' ' . $session->getType() . ' sesija', + 'tags' => get_mentioned_members($dom), + 'date' => strtotime($sitting->getEndTime()), + 'tweets' => get_tweets($sitting), + 'facebook' => strip_tags(get_fb_text($dom, $sitting)), + 'text' => html_entity_decode(DOMInnerHTML($dom->getElementsByTagName('body')->item(0)), ENT_NOQUOTES, 'UTF-8'), + ); + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); + $c = ''; + $c = curl_exec($ch); + //save the success + if ($c == 'success') { + $db->getVar('INSERT INTO posted_statistics VALUES (?, 1) ON DUPLICATE KEY UPDATE posted = 1', array($sitting->getId() )); + echo "prideta " . $sitting->getId() . "<br>"; + } + else { echo $c; print_f($data); } + } + curl_close($ch); + } + else { echo "no new sittings"; } + } + catch(Exception $e) { print_f($e->__toString()); } diff --git a/social/cron.php~ b/social/cron.php~ new file mode 100755 index 0000000..7f456e0 --- /dev/null +++ b/social/cron.php~ @@ -0,0 +1,144 @@ +<html> +<head> +<meta charset="UTF-8"> +</head> +<body> +<?php + + function initialize() { + require_once '/home/aurimas/domains/seime.lt/public_html/includes/includes.php'; + define('BASE_DIR','/home/aurimas/domains/lplius.lt/public_html/seime.lt-backend/'); + setlocale(LC_TIME, 'lt_LT.UTF8'); + mb_internal_encoding('UTF-8'); + + require_once BASE_DIR . 'utilities.php'; + require_once BASE_DIR . 'classes/Factory.php'; + require_once BASE_DIR . 'classes/abstractions.php'; + require_once BASE_DIR . 'classes/Sesija.php'; + require_once BASE_DIR . 'classes/Posedis.php'; + require_once BASE_DIR . 'classes/Question.php'; + require_once BASE_DIR . 'classes/Action.php'; + require_once BASE_DIR . 'extensions/QuestionParticipation.php'; + require_once BASE_DIR . 'extensions/RegistrationLink.php'; + require_once BASE_DIR . 'extensions/SittingStats.php'; + require_once BASE_DIR . 'extensions/QuestionStats.php'; + require_once BASE_DIR . 'classes/Updater.php'; + require_once '/home/aurimas/domains/seime.lt/public_html/includes/handler_functions.php'; + + Initialisator::initialise(); + Initialisator::$settings['mysql']['username'] = 'aurimas'; + Initialisator::$settings['mysql']['password'] = 'windows1257'; + $db_params = Initialisator::$settings['mysql']; + $sql_params = array('mysql:dbname=' . $db_params['db'] . ';host=' . $db_params['host'] . '', $db_params['username'], $db_params['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); + $allowed_types = array('session' => 'Session', 'sitting' => 'SittingStats', 'question' => 'QuestionStats', 'action' => 'RegistrationLink'); + $db = Initialisator::getDB(); + if (!($db instanceof DB)) throw new Exception('Database error'); + return array($db, Factory::getInstance($sql_params, $allowed_types)); + } + + function get_not_posted_sittings($db) { + return $db->getArray(" + SELECT id FROM sittings + WHERE NOT EXISTS (SELECT 1 FROM posted_statistics WHERE id = sittings_id) + AND end_time <> '0000-00-00 00:00:00' + ORDER BY id DESC + LIMIT 5", array()); + } + + function initialize_curl() { + $ch = curl_init(); + $secret = md5('BaltasisAnciuvis' . date('Y-m-d H')); + curl_setopt($ch, CURLOPT_URL,'http://trumpai.seime.lt/wp-content/plugins/remote-publishing/post.php?secret=' . $secret); + curl_setopt($ch, CURLOPT_POST, TRUE); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); + return $ch; + } + + function get_template_dom(Sitting $sitting, Session $session) { + ob_start(); + include(dirname(__FILE__) . '/template.php'); + $html = ob_get_clean(); + $dom = new DOMDocument('1.0', 'UTF-8'); + $html = mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8"); + $dom->loadHTML($html); + return $dom; + } + + function get_mentioned_members(DOMDocument $dom) { + $xpath = new DOMXPath($dom); + $members = array(); + $members_results = $xpath->query("//a[contains(@href,'nariai')]"); + foreach($members_results as $m) { if (!in_array($m->nodeValue, $members)) $members[] = $m->nodeValue; } + return $members; + } + + function get_tweets(Sitting $sitting) { + $tweets[] = sprintf('Posėdis truko %1$s (įskaitant pertraukas), jame pasisakė %2$s Seimo %3$s. Balsuota %4$s %5$s (%6$s)', + $sitting->getLength(), + $sitting->getMemberStats('speakers'), + __ending($sitting->getMemberStats('speakers')), + $sitting->getVotings('all'), + __ending($sitting->getVotings('all'), array('kartų', 'kartą', 'kartus')), + date("Y-m-d",strtotime($sitting->getEndTime())) + ); + $tweets[] = sprintf('Visuose posėdžio balsavimuose dalyvavo %1$s Seimo %2$s. Mažiau nei 30%% laiko posėdyje buvo %3$s Seimo %4$s (%5$s)', + $sitting->getMemberStats('full-attendance'), + __ending($sitting->getMemberStats('full-attendance')), + $sitting->getMemberStats('short-attendance'), + __ending($sitting->getMemberStats('short-attendance')), + date("Y-m-d",strtotime($sitting->getEndTime())) + ); + $tweets[] = sprintf('Oficialiai posėdyje dalyvavo %1$s Seimo %2$s. Seime.lt duomenimis, Seimo nariai posėdyje buvo %3$s%% laiko (%4$s)', + $sitting->participation('participated'), + __ending($sitting->participation('participated')), + $sitting->participation('time-based'), + date("Y-m-d",strtotime($sitting->getEndTime())) + ); + return $tweets; + } + + function get_fb_text(DOMDocument $dom, Sitting $sitting) { + $text = array(); + $xpath = new DOMXpath($dom); + $results = $xpath->query('//ul[@id="general-info"]/li'); + foreach($results as $r) { $text[] = DOMInnerHTML($r); } + array_pop($text); + $text = implode(" ", $text); + $text = html_entity_decode($text, ENT_NOQUOTES, 'UTF-8'); + return str_replace(array('<a', '<em', 'a>'), array(' <a', ' <em', 'a> '), $text); //fix for eaten spaces by DOMInnerHTML monster + } + + try { + list($db, $Factory) = initialize(); + $sittings = get_not_posted_sittings($db); + if ($sittings !== array()) { + $ch = initialize_curl(); + foreach ($sittings as $a) { //generate html files for each of the sittings + $sitting = $Factory->getObject('sitting', '', (int) $a['id']); + $session = $Factory->getObject('session', '', $sitting->getSessionID('getId')); + $dom = get_template_dom($sitting, $session); + $data = array( + 'title' => $sitting->getTitle(), + 'slug' => $sitting->getTitle(), + 'category_name' => $session->getNumber() . ' ' . $session->getType() . ' sesija', + 'tags' => get_mentioned_members($dom), + 'date' => strtotime($sitting->getEndTime()), + 'tweets' => get_tweets($sitting), + 'facebook' => strip_tags(get_fb_text($dom, $sitting)), + 'text' => html_entity_decode(DOMInnerHTML($dom->getElementsByTagName('body')->item(0)), ENT_NOQUOTES, 'UTF-8'), + ); + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); + $c = ''; + $c = curl_exec($ch); + //save the success + if ($c == 'success') { + $db->getVar('INSERT INTO posted_statistics VALUES (?, 1) ON DUPLICATE KEY UPDATE posted = 1', array($sitting->getId() )); + echo "prideta " . $sitting->getId() . "<br>"; + } + else { echo $c; print_f($data); } + } + curl_close($ch); + } + else { echo "no new sittings"; } + } + catch(Exception $e) { print_f($e->__toString()); } diff --git a/social/template.php b/social/template.php new file mode 100755 index 0000000..b243e12 --- /dev/null +++ b/social/template.php @@ -0,0 +1,62 @@ +<p><b>Bendra posėdžio statistika:</b></p> +<ul id="general-info"> + <li>Posėdis prasidėjo <?php echo date("H:i", strtotime($sitting->getStartTime())); ?> ir baigėsi <?php echo date("H:i", strtotime($sitting->getEndTime())); ?> (<?php echo $sitting->getLength(); ?> įskaitant pertraukas). + <li>Pagal oficialią statistiką posėdyje dalyvavo <?php echo $c = $sitting->participation('participated'); ?> Seimo <?php echo __ending($c); ?> (<?php echo $sitting->participation('percentage'); ?>%).</li> + <li>Pagal <a href="http://seime.lt" title="Seime.lt">Seime.lt</a> duomenis, Seimo nariai posėdyje dalyvavo <?php echo $sitting->participation('time-based'); ?>% laiko.</li> + <li>Visuose posėdžio balsavimuose dalyvavo <?php echo $c = $sitting->getMemberStats('full-attendance'); ?> Seimo <?php echo __ending($c); ?>.</li> + <li>Mažiau nei 30% laiko posėdyje dalyvavo <?php echo $c = $sitting->getMemberStats('short-attendance'); ?> Seimo <?php echo __ending($c); ?>.</li> + <li>Posėdyje pasisakė <?php echo $c = $sitting->getMemberStats('speakers'); ?> Seimo <?php echo __ending($c); ?>.</li> + <li>Posėdžio balsavimai, kurių rezultatas <em>pritarta</em>: <?php echo $sitting->getVotings('accepted'); ?> iš <?php echo $sitting->getVotings('all'); ?>.</li> +</ul> + +<?php + $c = $sitting->getTopParticipants(); + if ( (count($c) > 0) && (count($c) <= 15) ) { + ?> +<p><b>Visuose posėdžio balsavimuose dalyvavo:</b></p> +<ul> + <?php foreach($sitting->getTopParticipants() as $p) { echo "<li>$p</li>"; } ?> +</ul> + +<?php } ?> + +<p><b>Mažiausiai laiko posėdyje dalyvavo:</b></p> +<ul> + <?php foreach($sitting->getBottomParticipants() as $p) { echo "<li>$p</li>"; } ?> +</ul> + +<p><b>Ilgiausiai posėdyje kalbėję Seimo nariai:</b></p> +<ul> + <?php foreach($sitting->getTopSpeakers() as $p) { echo "<li>$p</li>"; } ?> +</ul> + +<h3>Svarbiausi nagrinėti klausimai</h3> +<?php foreach($sitting->getTopQuestions(3) as $question) { ?> + <p><b><a href="<?php echo $question->getUrl(); ?>"><?php echo $question->getTitle(); ?></a></b></p> + <ul> + <li>Klausimo svarstymo trukmė: <?php echo $c = round((strtotime($question->getEndTime()) - strtotime($question->getStartTime())) / 60,0); ?> <?php echo __ending($c, array('minučių', 'minutė', 'minutės')); ?>.</li> + <li>Svarstant šį klausimą Seimo nariai vidutiniškai dalyvavo <?php echo round($question->effective_presence * 100,0); ?>% laiko.</li> + <?php if ($c = $question->getPresenters()) { ?> + <li>Klausimą pristatė: <?php + $presenters = array(); + foreach($c as $name => $id) { + if (!empty($id)) $presenters[] = '<a href="http://seime.lt/' . getMemberLink($id) .'">' . $name . "</a>"; + else $presenters[] = $name; + } + echo implode(", ", $presenters) + ?>. + </li> + <?php } ?> + <li>Klausimo svarstymo metu pasisakė <?php echo $c = count($question->getSpeakers()); ?> Seimo <?php echo __ending($c); ?>.</li> + <? if ($last_voting = $question->getLastVoting()) { ?> + <li>Paskutinis balsavimas šiuo klausimu: <a href="<?php echo $last_voting->getUrl(); ?>"><?php echo $last_voting->getVotingTopic(); ?></a>. Balsavimo rezultatas: <?php echo ($last_voting->getVotingOutcome() == 'accepted') ? 'priimta' : 'atmesta'; ?> (<?php echo $last_voting->getVoting('accepted'); ?> balsai <em>už</em> iš <?php echo $last_voting->getVoting('present'); ?>).</li> + <?php } ?> + </ul> +<?php } ?> +<h3>Daugiau informacijos</h3> +<ul> + <li><a href="http://seime.lt/posedziai/<?php echo $sitting->getId(); ?>">Seime.lt posėdžio puslapis</a></li> +<li><a href="<?php echo $sitting->getUrl(); ?>">Oficialus posėdžio puslapis</a></li> +<li><a href="<?php echo $sitting->getUrl('transcript'); ?>">Posėdžio stenograma</a></li> +<li><a href="<?php echo $sitting->getUrl('protocol'); ?>">Posėdžio protokolas</a></li> +</ul> diff --git a/sqls/available_hours.sql b/sqls/available_hours.sql new file mode 100755 index 0000000..38a93a1 --- /dev/null +++ b/sqls/available_hours.sql @@ -0,0 +1,7 @@ +INSERT INTO participation_data (members_id, sittings_id, hours_available) + SELECT members_id, sittings_id, SUM(TIME_TO_SEC(TIMEDIFF(subquestions.end_time, subquestions.start_time))) / 3600 from subquestions_participation + JOIN subquestions on subquestions.id = subquestions_id + JOIN questions on questions_id = questions.id + JOIN sittings on sittings_id = sittings.id + GROUP BY members_id, sittings_id + ON DUPLICATE KEY UPDATE participation_data.hours_available = VALUES(hours_available) diff --git a/sqls/empty_registrations.sql b/sqls/empty_registrations.sql new file mode 100755 index 0000000..ec15818 --- /dev/null +++ b/sqls/empty_registrations.sql @@ -0,0 +1,6 @@ +INSERT INTO votes (id, vote) + SELECT votes.id, "disappeared" as vote FROM votes + JOIN voting_registration ON votes.actions_id = voting_registration.voting_id + JOIN registrations ON voting_registration.registration_id = registrations.actions_id AND votes.members_id = registrations.members_id + WHERE votes.vote = "not presen" AND registrations.presence = 1 + ON DUPLICATE KEY UPDATE votes.vote = VALUES(vote) diff --git a/sqls/fractions.sql b/sqls/fractions.sql new file mode 100755 index 0000000..a293378 --- /dev/null +++ b/sqls/fractions.sql @@ -0,0 +1,5 @@ +INSERT INTO members (id, fraction) +SELECT A.members_id, A.fraction FROM votes A +JOIN (SELECT members_id, MAX(id) as id FROM votes GROUP BY members_id) B +ON A.id = B.id AND A.members_id = B.members_id +ON DUPLICATE KEY UPDATE fraction = VALUES(fraction) diff --git a/sqls/official_participation.sql b/sqls/official_participation.sql new file mode 100755 index 0000000..02c9340 --- /dev/null +++ b/sqls/official_participation.sql @@ -0,0 +1,6 @@ +INSERT INTO participation_data + (members_id, sittings_id, official_presence) + SELECT members_id, sittings_id, presence as official_presence + FROM sitting_participation + JOIN sittings on sittings_id = sittings.id + ON DUPLICATE KEY UPDATE participation_data.id = participation_data.id diff --git a/sqls/participated_hours.sql b/sqls/participated_hours.sql new file mode 100755 index 0000000..2b6a90e --- /dev/null +++ b/sqls/participated_hours.sql @@ -0,0 +1,8 @@ +INSERT INTO participation_data (members_id, sittings_id, hours_present) + SELECT members_id, sittings_id, SUM(TIME_TO_SEC(TIMEDIFF(subquestions.end_time, subquestions.start_time))) / 3600 from subquestions_participation + JOIN subquestions on subquestions.id = subquestions_id + JOIN questions on questions_id = questions.id + JOIN sittings on sittings_id = sittings.id + WHERE subquestions_participation.presence = 1 + GROUP BY members_id, sittings_id + ON DUPLICATE KEY UPDATE participation_data.hours_present = VALUES(hours_present) diff --git a/update-ENG.php b/update-ENG.php new file mode 100755 index 0000000..044ba4e --- /dev/null +++ b/update-ENG.php @@ -0,0 +1,157 @@ +<?php + +/* This code is meant to be used to update or collect voting and participation data + * from http://lrs.lt website. As the scraping process can take a long time, we + * we recommend to run this script from the command line. If you do not have command + * line access, you'll need to comment out the first IF statement to make the code run. + * + * Additionally, you need to provide configuration for MySQL (lines 42-45), + * email where notifications about new data will be sent (line 23) and + * provide the session url or indicate that the update should use the DB data + * (lines 60 - 80). + */ + +if (PHP_SAPI === 'cli') { + + define('START_TIME', microtime(true)); + ini_set('memory_limit','2048M'); + set_time_limit(10000); + mb_internal_encoding('UTF-8'); + error_reporting(E_ALL); + + /* Email address for notifications, see Updater::SendPictureEmail() for details */ + define('NOTIF_EMAIL',YOUR_EMAIL); + + define('BASE_DIR', dir(__FILE__)); + /* Required files */ + require_once BASE_DIR . 'classes/utilities.php'; + require_once BASE_DIR . 'classes/DB.php'; + require_once BASE_DIR . 'classes/Factory.php'; + require_once BASE_DIR . 'classes/abstractions.php'; + require_once BASE_DIR . 'classes/Sesija.php'; + require_once BASE_DIR . 'classes/Posedis.php'; + require_once BASE_DIR . 'classes/Question.php'; + require_once BASE_DIR . 'classes/Action.php'; + require_once BASE_DIR . 'classes/Updater.php'; + + /* Optional files - depends on the object tree settings below */ + require_once BASE_DIR . 'extensions/QuestionParticipation.php'; + require_once BASE_DIR . 'extensions/RegistrationLink.php'; + + /* MySQL settings */ + $sql_host_db = 'mysql:dbname=YOUR_DB_NAME;host=YOUR_HOST'; + $sql_user = 'YOUR_USERNAME'; + $sql_pass = 'YOUR_PASSWORD'; + $sql_driver_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''); + + /* Classes used in the object tree */ + $allowed_types = array( + 'session' => 'Session', + 'sitting' => 'Sitting', + 'question' => 'QuestionParticipation', + 'action' => 'RegistrationLink' + ); + + /* Initialisation of the Factory (singleton) and DB objects */ + $Factory = Factory::getInstance(array($sql_host_db, $sql_user, $sql_pass, $sql_driver_options), $allowed_types); + $db = new DB($dsn, $username, $password, $driver_options); + + $sessions = array(); //list of sessions that need to be updated + + /* Code to be used if the current DB does not contain data: + + Add a specific session to the update list: + $sessions[] = $Factory->getObject('session', 'SESIJOS_URL'); + //SESIJOS_URL looks like that: http://www3.lrs.lt/pls/inter/w5_sale.ses_pos?p_ses_id=ID + + All the session urls can be found at http://www3.lrs.lt/pls/inter/w5_sale.kad_ses + + */ + + /* Code to be used if only incremental data update is needed: + + $c_id = $db->getVar('SELECT max(id) FROM sessions', array()); //get the ID of the current / last session + $sessions[] = $Factory->getObject('session', '', $c_id); //add it to the update list + + // Retrieve the list of all sessions and find the ID of the first session in the list + preg_match('/w5_sale\.ses_pos\?p_ses_id=(\d+)/', file_get_contents('http://www3.lrs.lt/pls/inter/w5_sale.kad_ses'), $matched); + if (isset($matched[1]) && ($matched[1] != $c_id)) { + //if we found an ID and its not equal to current ID - a new session has started, let's add it + $sessions[] = $Factory->getObject('session', 'http://www3.lrs.lt/pls/inter/' . $matched[0]); + } + + */ + + foreach ($sessions as $session) { + + $u = new Updater($session); + + /* Scrape the list of the sittings in the session and save */ + $u->updateSittingList(); + $u->announce('Updated sitting list'); + + /* The heavylifting part:Do the recursive object-tree scraping and save all the obtained data */ + $u->obtainData(); + $u->announce('Updated all data'); + + /* MEMBERS lentelė is updated / filled with data about parliament members and their fractions */ + $db->exec($u->getSQL('fractions')); + $u->announce('Updated member list and fractions [SQL]'); + + /* Seime.lt skaičiavimai: klausimai skaldomi į dalis ir apskaičiuojamas tikslus lankomumas */ + $u->estimateParticipation(); + $u->announce('Estimated participation'); + + /* Seime.lt estimations: Participation data is estimated precisely, at sub-question level */ + $u->linkRegistrations(); + $u->announce('Established links between registrations and votings'); + + /* PARTICIPATION_DATA table is filled with official participation data from + * SITTING_PARTICIPATION table */ + $db->exec($u->getSQL('official_participation')); + $u->announce('Filled in official participation data [SQL]'); + + /* PARTICIPATION_DATA table is filled with the lengths of sittings estimated + * according to the data of SUBQUESTIONS_PARTICIPATION table */ + $db->exec($u->getSQL('available_hours')); + $u->announce('Filled in available hours data [SQL]'); + + /* PARTICIPATION_DATA table is filled with the estimated precise participation + * details according to the data of SUBQUESTIONS_PARTICIPATION table */ + $db->exec($u->getSQL('participated_hours')); + $u->announce('Filled in participated hours data [SQL]'); + + /* VOTES table is updated with data on cases when a parliament member registered + * for a voting, but did not participate in it */ + $db->exec($u->getSQL('empty_registrations')); + $u->announce('Updated empty registrations data [SQL]'); + + } + + /* Check if there are new parliament members added. If yes - their names and photos are retrieved */ + $new = $db->getArray('SELECT id FROM members WHERE name = ?', array('')); + if (!empty($new)) { + $u->announce('Found new members! ' . json_encode($new)); + $new = $u->updateMembers($new); + $db->insertMany('members', $new, array('id')); + $u->announce('Added new members to the list!'); + } + + /* Update the details of parliament members that left the parliament early or entered the candency late */ + $list = $u->getTermDetails(); + if (is_array($list)) { + foreach($list as $member) { + $db->getVar('UPDATE members SET cadency_start = ?, cadency_end = ? WHERE id = ?', + array($member['cadency_start'], $member['cadency_end'], $member['id'])); + } + $u->announce('Updated term details'); + } + else $u->announce('Updating term details failed!'); + + //DONE! + $u->announce('DONE'); + +} +else { + echo 'Access Denied'; +} diff --git a/update.php b/update.php new file mode 100755 index 0000000..ebc0a05 --- /dev/null +++ b/update.php @@ -0,0 +1,157 @@ +<?php + +/* Šiuo kodu galima atnaujinti Seime.lt duomenis. Kadangi duomenų surinkimas iš + * http://lrs.lt gali ilgai užtrukti, rekomenduojame kodą paleidinėti iš komandinės + * eilutės. Jei tokios galimybės neturite - jums tereikės išimti pirmąjį IF sakinį. + * + * Norint, kad kodas veiktų, reikia pateikti sesiją / pasirinkti, kad būtų atnaujinama + * pagal duomenis iš DB. Žr. 55 - 75 kodo eilutes. + */ + +if (PHP_SAPI === 'cli') { + + define('START_TIME', microtime(true)); + ini_set('memory_limit','2048M'); + set_time_limit(10000); + mb_internal_encoding('UTF-8'); + error_reporting(E_ALL); + + /* el. paštas, kuris naudojamas siunčiant pranešimus, žr. Updater::SendPictureEmail() */ + define('NOTIF_EMAIL',YOUR_EMAIL); + + define('BASE_DIR', dir(__FILE__)); + /* Būtini failai */ + require_once BASE_DIR . 'classes/utilities.php'; + require_once BASE_DIR . 'classes/DB.php'; + require_once BASE_DIR . 'classes/Factory.php'; + require_once BASE_DIR . 'classes/abstractions.php'; + require_once BASE_DIR . 'classes/Sesija.php'; + require_once BASE_DIR . 'classes/Posedis.php'; + require_once BASE_DIR . 'classes/Question.php'; + require_once BASE_DIR . 'classes/Action.php'; + require_once BASE_DIR . 'classes/Updater.php'; + + /* Papildomi failai - priklauso nuo konfigūracijos žemiau */ + require_once BASE_DIR . 'extensions/QuestionParticipation.php'; + require_once BASE_DIR . 'extensions/RegistrationLink.php'; + + /* MySQL nustatymai */ + $sql_host_db = 'mysql:dbname=YOUR_DB_NAME;host=YOUR_HOST'; + $sql_user = 'YOUR_USERNAME'; + $sql_pass = 'YOUR_PASSWORD'; + $sql_driver_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''); + + /* Objektų medyje naudojamos klasės */ + $allowed_types = array( + 'session' => 'Session', + 'sitting' => 'Sitting', + 'question' => 'QuestionParticipation', + 'action' => 'RegistrationLink' + ); + + /* Inicijuojami Factory (singleton) ir DB objektai */ + $Factory = Factory::getInstance(array($sql_host_db, $sql_user, $sql_pass, $sql_driver_options), $allowed_types); + $db = new DB($dsn, $username, $password, $driver_options); + + $sessions = array(); //sesijų, kurių duomenis reikia atnaujinti / sukurti sąrąšas + + /* Kodas, jei duomenų bazėje nėra nei vienos sesijos: + + Surinkti konkrečios sesijos duomenis: + $sessions[] = $Factory->getObject('session', 'SESIJOS_URL'); + //SESIJOS_URL atrodo taip: http://www3.lrs.lt/pls/inter/w5_sale.ses_pos?p_ses_id=ID + + Sesijų URL galima rasti adresu http://www3.lrs.lt/pls/inter/w5_sale.kad_ses + + */ + + /* Kodas, jei duomenų bazėje jau yra visos sesijos: + + $c_id = $db->getVar('SELECT max(id) FROM sessions', array()); //sužinome naujausios sesijos ID + $sessions[] = $Factory->getObject('session', '', $c_id); //pridedame ją prie atnaujintinų sąrašo + + /* Bandome gauti dabartinės Seimo kadencijos sesijų sąrašą ir iš ten gauti pirmą paminėtą sesijos ID Ū/ + preg_match('/w5_sale\.ses_pos\?p_ses_id=(\d+)/', file_get_contents('http://www3.lrs.lt/pls/inter/w5_sale.kad_ses'), $matched); + if (isset($matched[1]) && ($matched[1] != $c_id)) { + //jei radome ID ir jis nelygus dabartinei sesijai, tai turėtų būti nauja sesija - pridedame + $sessions[] = $Factory->getObject('session', 'http://www3.lrs.lt/pls/inter/' . $matched[0]); + } + + */ + + foreach ($sessions as $session) { + + $u = new Updater($session); + + /* Surenkame sesijos posėdžių sąrašą ir viską išsaugome */ + $u->updateSittingList(); + $u->announce('Updated sitting list'); + + /* Daugiausiai resursų reikalaujantis etapas: rekursiškai keliaujam per objektų medį, + * renkame visus duomenis ir viską saugome */ + $u->obtainData(); + $u->announce('Updated all data'); + + /* MEMBERS lentelė atnaujinama / užpildoma duomenimis apie Seimo narius ir jų + frakcijas */ + $db->exec($u->getSQL('fractions')); + $u->announce('Updated member list and fractions [SQL]'); + + /* Seime.lt skaičiavimai: klausimai skaldomi į dalis ir apskaičiuojamas tikslus lankomumas */ + $u->estimateParticipation(); + $u->announce('Estimated participation'); + + /* Nustatomi ryšiai tarp registracijų į balsavimus ir pačių balsavimų */ + $u->linkRegistrations(); + $u->announce('Established links between registrations and votings'); + + /* PARTICIPATION_DATA lentelė užpildoma oficialiais lankomumo duomenimis iš + * SITTING_PARTICIPATION lentelės */ + $db->exec($u->getSQL('official_participation')); + $u->announce('Filled in official participation data [SQL]'); + + /* PARTICIPATION_DATA lentelė užpildoma posėdžių trukmėmis, apskaičiuotomis + * pagal SUBQUESTIONS_PARTICIPATION lentelės duomenis */ + $db->exec($u->getSQL('available_hours')); + $u->announce('Filled in available hours data [SQL]'); + + /* PARTICIPATION_DATA lentelė užpildoma tiksliais lankomumo duomenimis + * pagal SUBQUESTIONS_PARTICIPATION lentelės duomenis */ + $db->exec($u->getSQL('participated_hours')); + $u->announce('Filled in participated hours data [SQL]'); + + /* VOTES lentelė papildoma duomenimis apie tokius atvejus, kai Seimo narys + * užsiregistravo balsavimui, tačiau jame nesudalyvavo */ + $db->exec($u->getSQL('empty_registrations')); + $u->announce('Updated empty registrations data [SQL]'); + + } + + /* Patikrinama, ar nėra naujų Seimo narių - jei taip, gaunami jų vardai ir nuotraukos */ + $new = $db->getArray('SELECT id FROM members WHERE name = ?', array('')); + if (!empty($new)) { + $u->announce('Found new members! ' . json_encode($new)); + $new = $u->updateMembers($new); + $db->insertMany('members', $new, array('id')); + $u->announce('Added new members to the list!'); + } + + /* Atnaujinami duomenys apie tai, kurie Seimo nariai vėlai pradėjo kadenciją + * ar kurie ją anksti baigė */ + $list = $u->getTermDetails(); + if (is_array($list)) { + foreach($list as $member) { + $db->getVar('UPDATE members SET cadency_start = ?, cadency_end = ? WHERE id = ?', + array($member['cadency_start'], $member['cadency_end'], $member['id'])); + } + $u->announce('Updated term details'); + } + else $u->announce('Updating term details failed!'); + + //VISKAS! + $u->announce('DONE'); + +} +else { + echo 'Access Denied'; +}