first commit
This commit is contained in:
commit
c969cdabcc
18
.editorconfig
Normal file
18
.editorconfig
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = space
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
[*.{yml,yaml}]
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[docker-compose.yml]
|
||||||
|
indent_size = 4
|
58
.env.example
Normal file
58
.env.example
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
APP_NAME=Laravel
|
||||||
|
APP_ENV=local
|
||||||
|
APP_KEY=
|
||||||
|
APP_DEBUG=true
|
||||||
|
APP_URL=http://localhost
|
||||||
|
|
||||||
|
LOG_CHANNEL=stack
|
||||||
|
LOG_DEPRECATIONS_CHANNEL=null
|
||||||
|
LOG_LEVEL=debug
|
||||||
|
|
||||||
|
DB_CONNECTION=mysql
|
||||||
|
DB_HOST=127.0.0.1
|
||||||
|
DB_PORT=3306
|
||||||
|
DB_DATABASE=laravel
|
||||||
|
DB_USERNAME=root
|
||||||
|
DB_PASSWORD=
|
||||||
|
|
||||||
|
BROADCAST_DRIVER=log
|
||||||
|
CACHE_DRIVER=file
|
||||||
|
FILESYSTEM_DISK=local
|
||||||
|
QUEUE_CONNECTION=sync
|
||||||
|
SESSION_DRIVER=file
|
||||||
|
SESSION_LIFETIME=120
|
||||||
|
|
||||||
|
MEMCACHED_HOST=127.0.0.1
|
||||||
|
|
||||||
|
REDIS_HOST=127.0.0.1
|
||||||
|
REDIS_PASSWORD=null
|
||||||
|
REDIS_PORT=6379
|
||||||
|
|
||||||
|
MAIL_MAILER=smtp
|
||||||
|
MAIL_HOST=mailpit
|
||||||
|
MAIL_PORT=1025
|
||||||
|
MAIL_USERNAME=null
|
||||||
|
MAIL_PASSWORD=null
|
||||||
|
MAIL_ENCRYPTION=null
|
||||||
|
MAIL_FROM_ADDRESS="hello@example.com"
|
||||||
|
MAIL_FROM_NAME="${APP_NAME}"
|
||||||
|
|
||||||
|
AWS_ACCESS_KEY_ID=
|
||||||
|
AWS_SECRET_ACCESS_KEY=
|
||||||
|
AWS_DEFAULT_REGION=us-east-1
|
||||||
|
AWS_BUCKET=
|
||||||
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||||
|
|
||||||
|
PUSHER_APP_ID=
|
||||||
|
PUSHER_APP_KEY=
|
||||||
|
PUSHER_APP_SECRET=
|
||||||
|
PUSHER_HOST=
|
||||||
|
PUSHER_PORT=443
|
||||||
|
PUSHER_SCHEME=https
|
||||||
|
PUSHER_APP_CLUSTER=mt1
|
||||||
|
|
||||||
|
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||||
|
VITE_PUSHER_HOST="${PUSHER_HOST}"
|
||||||
|
VITE_PUSHER_PORT="${PUSHER_PORT}"
|
||||||
|
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
|
||||||
|
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
11
.gitattributes
vendored
Normal file
11
.gitattributes
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
* text=auto eol=lf
|
||||||
|
|
||||||
|
*.blade.php diff=html
|
||||||
|
*.css diff=css
|
||||||
|
*.html diff=html
|
||||||
|
*.md diff=markdown
|
||||||
|
*.php diff=php
|
||||||
|
|
||||||
|
/.github export-ignore
|
||||||
|
CHANGELOG.md export-ignore
|
||||||
|
.styleci.yml export-ignore
|
18
.gitignore
vendored
Normal file
18
.gitignore
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/.phpunit.cache
|
||||||
|
/node_modules
|
||||||
|
/public/build
|
||||||
|
/public/hot
|
||||||
|
/public/storage
|
||||||
|
/storage/*.key
|
||||||
|
/vendor
|
||||||
|
.env
|
||||||
|
.env.backup
|
||||||
|
.env.production
|
||||||
|
Homestead.json
|
||||||
|
Homestead.yaml
|
||||||
|
auth.json
|
||||||
|
npm-debug.log
|
||||||
|
yarn-error.log
|
||||||
|
/.fleet
|
||||||
|
/.idea
|
||||||
|
/.vscode
|
66
README.md
Normal file
66
README.md
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
|
||||||
|
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
|
||||||
|
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
|
||||||
|
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## About Laravel
|
||||||
|
|
||||||
|
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
|
||||||
|
|
||||||
|
- [Simple, fast routing engine](https://laravel.com/docs/routing).
|
||||||
|
- [Powerful dependency injection container](https://laravel.com/docs/container).
|
||||||
|
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
|
||||||
|
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
|
||||||
|
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
|
||||||
|
- [Robust background job processing](https://laravel.com/docs/queues).
|
||||||
|
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
|
||||||
|
|
||||||
|
Laravel is accessible, powerful, and provides tools required for large, robust applications.
|
||||||
|
|
||||||
|
## Learning Laravel
|
||||||
|
|
||||||
|
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
|
||||||
|
|
||||||
|
You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch.
|
||||||
|
|
||||||
|
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
|
||||||
|
|
||||||
|
## Laravel Sponsors
|
||||||
|
|
||||||
|
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
|
||||||
|
|
||||||
|
### Premium Partners
|
||||||
|
|
||||||
|
- **[Vehikl](https://vehikl.com/)**
|
||||||
|
- **[Tighten Co.](https://tighten.co)**
|
||||||
|
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
|
||||||
|
- **[64 Robots](https://64robots.com)**
|
||||||
|
- **[Cubet Techno Labs](https://cubettech.com)**
|
||||||
|
- **[Cyber-Duck](https://cyber-duck.co.uk)**
|
||||||
|
- **[Many](https://www.many.co.uk)**
|
||||||
|
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
|
||||||
|
- **[DevSquad](https://devsquad.com)**
|
||||||
|
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
|
||||||
|
- **[OP.GG](https://op.gg)**
|
||||||
|
- **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)**
|
||||||
|
- **[Lendio](https://lendio.com)**
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
|
||||||
|
|
||||||
|
## Security Vulnerabilities
|
||||||
|
|
||||||
|
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
|
27
app/Console/Kernel.php
Normal file
27
app/Console/Kernel.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console;
|
||||||
|
|
||||||
|
use Illuminate\Console\Scheduling\Schedule;
|
||||||
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
||||||
|
|
||||||
|
class Kernel extends ConsoleKernel
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Define the application's command schedule.
|
||||||
|
*/
|
||||||
|
protected function schedule(Schedule $schedule): void
|
||||||
|
{
|
||||||
|
// $schedule->command('inspire')->hourly();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the commands for the application.
|
||||||
|
*/
|
||||||
|
protected function commands(): void
|
||||||
|
{
|
||||||
|
$this->load(__DIR__.'/Commands');
|
||||||
|
|
||||||
|
require base_path('routes/console.php');
|
||||||
|
}
|
||||||
|
}
|
48
app/Exceptions/Handler.php
Normal file
48
app/Exceptions/Handler.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Exceptions;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||||
|
use Throwable;
|
||||||
|
|
||||||
|
class Handler extends ExceptionHandler
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* A list of exception types with their corresponding custom log levels.
|
||||||
|
*
|
||||||
|
* @var array<class-string<\Throwable>, \Psr\Log\LogLevel::*>
|
||||||
|
*/
|
||||||
|
protected $levels = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of the exception types that are not reported.
|
||||||
|
*
|
||||||
|
* @var array<int, class-string<\Throwable>>
|
||||||
|
*/
|
||||||
|
protected $dontReport = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of the inputs that are never flashed to the session on validation exceptions.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $dontFlash = [
|
||||||
|
'current_password',
|
||||||
|
'password',
|
||||||
|
'password_confirmation',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the exception handling callbacks for the application.
|
||||||
|
*/
|
||||||
|
public function register(): void
|
||||||
|
{
|
||||||
|
$this->reportable(function (Throwable $e) {
|
||||||
|
//
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
39
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
39
app/Http/Controllers/Auth/ConfirmPasswordController.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Foundation\Auth\ConfirmsPasswords;
|
||||||
|
|
||||||
|
class ConfirmPasswordController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Confirm Password Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling password confirmations and
|
||||||
|
| uses a simple trait to include the behavior. You're free to explore
|
||||||
|
| this trait and override any functions that require customization.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use ConfirmsPasswords;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users when the intended url fails.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = '/dashboard';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth');
|
||||||
|
}
|
||||||
|
}
|
22
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
22
app/Http/Controllers/Auth/ForgotPasswordController.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||||
|
|
||||||
|
class ForgotPasswordController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reset Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling password reset emails and
|
||||||
|
| includes a trait which assists in sending these notifications from
|
||||||
|
| your application to your users. Feel free to explore this trait.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use SendsPasswordResetEmails;
|
||||||
|
}
|
39
app/Http/Controllers/Auth/LoginController.php
Normal file
39
app/Http/Controllers/Auth/LoginController.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||||
|
|
||||||
|
class LoginController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Login Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller handles authenticating users for the application and
|
||||||
|
| redirecting them to your home screen. The controller uses a trait
|
||||||
|
| to conveniently provide its functionality to your applications.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use AuthenticatesUsers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after login.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = '/dashboard';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('guest')->except('logout');
|
||||||
|
}
|
||||||
|
}
|
72
app/Http/Controllers/Auth/RegisterController.php
Normal file
72
app/Http/Controllers/Auth/RegisterController.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
||||||
|
class RegisterController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Register Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller handles the registration of new users as well as their
|
||||||
|
| validation and creation. By default this controller uses a trait to
|
||||||
|
| provide this functionality without requiring any additional code.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use RegistersUsers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after registration.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = '/dashboard';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('guest');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a validator for an incoming registration request.
|
||||||
|
*
|
||||||
|
* @param array $data
|
||||||
|
* @return \Illuminate\Contracts\Validation\Validator
|
||||||
|
*/
|
||||||
|
protected function validator(array $data)
|
||||||
|
{
|
||||||
|
return Validator::make($data, [
|
||||||
|
'name' => ['required', 'string', 'max:255'],
|
||||||
|
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
|
||||||
|
'password' => ['required', 'string', 'min:8', 'confirmed'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new user instance after a valid registration.
|
||||||
|
*
|
||||||
|
* @param array $data
|
||||||
|
* @return \App\Models\User
|
||||||
|
*/
|
||||||
|
protected function create(array $data)
|
||||||
|
{
|
||||||
|
return User::create([
|
||||||
|
'name' => $data['name'],
|
||||||
|
'email' => $data['email'],
|
||||||
|
'password' => Hash::make($data['password']),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
29
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
29
app/Http/Controllers/Auth/ResetPasswordController.php
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||||
|
|
||||||
|
class ResetPasswordController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Reset Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling password reset requests
|
||||||
|
| and uses a simple trait to include this behavior. You're free to
|
||||||
|
| explore this trait and override any methods you wish to tweak.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use ResetsPasswords;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after resetting their password.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = '/dashboard';
|
||||||
|
}
|
41
app/Http/Controllers/Auth/VerificationController.php
Normal file
41
app/Http/Controllers/Auth/VerificationController.php
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Auth;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Foundation\Auth\VerifiesEmails;
|
||||||
|
|
||||||
|
class VerificationController extends Controller
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Email Verification Controller
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This controller is responsible for handling email verification for any
|
||||||
|
| user that recently registered with the application. Emails may also
|
||||||
|
| be re-sent if the user didn't receive the original email message.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
use VerifiesEmails;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to redirect users after verification.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $redirectTo = '/dashboard';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth');
|
||||||
|
$this->middleware('signed')->only('verify');
|
||||||
|
$this->middleware('throttle:6,1')->only('verify', 'resend');
|
||||||
|
}
|
||||||
|
}
|
12
app/Http/Controllers/Controller.php
Normal file
12
app/Http/Controllers/Controller.php
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||||
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||||
|
use Illuminate\Routing\Controller as BaseController;
|
||||||
|
|
||||||
|
class Controller extends BaseController
|
||||||
|
{
|
||||||
|
use AuthorizesRequests, ValidatesRequests;
|
||||||
|
}
|
28
app/Http/Controllers/HomeController.php
Normal file
28
app/Http/Controllers/HomeController.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class HomeController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create a new controller instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('auth');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the application dashboard.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Contracts\Support\Renderable
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
return view('dashboard');
|
||||||
|
}
|
||||||
|
}
|
83
app/Http/Controllers/PermissionController.php
Normal file
83
app/Http/Controllers/PermissionController.php
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Spatie\Permission\Models\Permission;
|
||||||
|
|
||||||
|
class PermissionController extends Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('role_or_permission:access permissions|create permissions|edit permissions|delete permissions', ['only' => ['index', 'show']]);
|
||||||
|
$this->middleware('role_or_permission:create permissions', ['only' => ['create', 'store']]);
|
||||||
|
$this->middleware('role_or_permission:edit permissions', ['only' => ['edit', 'update']]);
|
||||||
|
$this->middleware('role_or_permission:delete permissions', ['only' => ['destroy']]);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$permission = Permission::latest()->get();
|
||||||
|
|
||||||
|
return view('permissions.index', ['permissions' => $permission]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
return view('permissions.create');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'name' => 'required',
|
||||||
|
]);
|
||||||
|
$permission = Permission::create(['name' => $request->name]);
|
||||||
|
toastr()->success('Permission has been created!');
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*/
|
||||||
|
public function show(string $id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*/
|
||||||
|
public function edit(Permission $permission)
|
||||||
|
{
|
||||||
|
return view('permissions.edit', ['permission' => $permission]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*/
|
||||||
|
public function update(Request $request, Permission $permission)
|
||||||
|
{
|
||||||
|
$permission->update(['name' => $request->name]);
|
||||||
|
toastr()->success('Permission has been updated!');
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*/
|
||||||
|
public function destroy(Permission $permission)
|
||||||
|
{
|
||||||
|
$permission->delete();
|
||||||
|
toastr()->success('Permission has been deleted!');
|
||||||
|
return redirect()->back();
|
||||||
|
}
|
||||||
|
}
|
87
app/Http/Controllers/RoleController.php
Normal file
87
app/Http/Controllers/RoleController.php
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Spatie\Permission\Models\Permission;
|
||||||
|
use Spatie\Permission\Models\Role;
|
||||||
|
|
||||||
|
class RoleController extends Controller
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware('role_or_permission:access roles|create roles|edit roles|delete roles', ['only' => ['index', 'show']]);
|
||||||
|
$this->middleware('role_or_permission:create roles', ['only' => ['create', 'store']]);
|
||||||
|
$this->middleware('role_or_permission:edit roles', ['only' => ['edit', 'update']]);
|
||||||
|
$this->middleware('role_or_permission:delete roles', ['only' => ['destroy']]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$roles = Role::latest()->get();
|
||||||
|
return view('roles.index', compact('roles'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
$permissions = Permission::get();
|
||||||
|
return view('roles.create', compact('permissions'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate(['name' => 'required']);
|
||||||
|
|
||||||
|
$role = Role::create(['name' => $request->name]);
|
||||||
|
|
||||||
|
$role->syncPermissions($request->permissions);
|
||||||
|
toastr()->success('New role has been created!');
|
||||||
|
return redirect()->route('roles.index');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*/
|
||||||
|
public function show(string $id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*/
|
||||||
|
public function edit(Role $role)
|
||||||
|
{
|
||||||
|
$permissions = Permission::get();
|
||||||
|
return view('roles.edit', compact('permissions', 'role'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*/
|
||||||
|
public function update(Request $request, Role $role)
|
||||||
|
{
|
||||||
|
$role->update(['name' => $request->name]);
|
||||||
|
$role->syncPermissions($request->permissions);
|
||||||
|
toastr()->success('Role has been updated!');
|
||||||
|
return redirect()->route('roles.index');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*/
|
||||||
|
public function destroy(Role $role)
|
||||||
|
{
|
||||||
|
$role->delete();
|
||||||
|
toastr()->success('Role has been deleted!');
|
||||||
|
}
|
||||||
|
}
|
67
app/Http/Kernel.php
Normal file
67
app/Http/Kernel.php
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Kernel as HttpKernel;
|
||||||
|
|
||||||
|
class Kernel extends HttpKernel
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The application's global HTTP middleware stack.
|
||||||
|
*
|
||||||
|
* These middleware are run during every request to your application.
|
||||||
|
*
|
||||||
|
* @var array<int, class-string|string>
|
||||||
|
*/
|
||||||
|
protected $middleware = [
|
||||||
|
// \App\Http\Middleware\TrustHosts::class,
|
||||||
|
\App\Http\Middleware\TrustProxies::class,
|
||||||
|
\Illuminate\Http\Middleware\HandleCors::class,
|
||||||
|
\App\Http\Middleware\PreventRequestsDuringMaintenance::class,
|
||||||
|
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
|
||||||
|
\App\Http\Middleware\TrimStrings::class,
|
||||||
|
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The application's route middleware groups.
|
||||||
|
*
|
||||||
|
* @var array<string, array<int, class-string|string>>
|
||||||
|
*/
|
||||||
|
protected $middlewareGroups = [
|
||||||
|
'web' => [
|
||||||
|
\App\Http\Middleware\EncryptCookies::class,
|
||||||
|
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||||
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
|
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||||
|
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||||
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
'api' => [
|
||||||
|
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||||
|
\Illuminate\Routing\Middleware\ThrottleRequests::class.':api',
|
||||||
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The application's middleware aliases.
|
||||||
|
*
|
||||||
|
* Aliases may be used to conveniently assign middleware to routes and groups.
|
||||||
|
*
|
||||||
|
* @var array<string, class-string|string>
|
||||||
|
*/
|
||||||
|
protected $middlewareAliases = [
|
||||||
|
'auth' => \App\Http\Middleware\Authenticate::class,
|
||||||
|
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
|
||||||
|
'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||||
|
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
|
||||||
|
'can' => \Illuminate\Auth\Middleware\Authorize::class,
|
||||||
|
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||||
|
'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
|
||||||
|
'signed' => \App\Http\Middleware\ValidateSignature::class,
|
||||||
|
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||||
|
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
|
||||||
|
];
|
||||||
|
}
|
17
app/Http/Middleware/Authenticate.php
Normal file
17
app/Http/Middleware/Authenticate.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Auth\Middleware\Authenticate as Middleware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class Authenticate extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the path the user should be redirected to when they are not authenticated.
|
||||||
|
*/
|
||||||
|
protected function redirectTo(Request $request): ?string
|
||||||
|
{
|
||||||
|
return $request->expectsJson() ? null : route('login');
|
||||||
|
}
|
||||||
|
}
|
17
app/Http/Middleware/EncryptCookies.php
Normal file
17
app/Http/Middleware/EncryptCookies.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||||
|
|
||||||
|
class EncryptCookies extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The names of the cookies that should not be encrypted.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
17
app/Http/Middleware/PreventRequestsDuringMaintenance.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance as Middleware;
|
||||||
|
|
||||||
|
class PreventRequestsDuringMaintenance extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The URIs that should be reachable while maintenance mode is enabled.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
30
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
30
app/Http/Middleware/RedirectIfAuthenticated.php
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use App\Providers\RouteServiceProvider;
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
class RedirectIfAuthenticated
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||||
|
*/
|
||||||
|
public function handle(Request $request, Closure $next, string ...$guards): Response
|
||||||
|
{
|
||||||
|
$guards = empty($guards) ? [null] : $guards;
|
||||||
|
|
||||||
|
foreach ($guards as $guard) {
|
||||||
|
if (Auth::guard($guard)->check()) {
|
||||||
|
return redirect(RouteServiceProvider::HOME);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
19
app/Http/Middleware/TrimStrings.php
Normal file
19
app/Http/Middleware/TrimStrings.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||||
|
|
||||||
|
class TrimStrings extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The names of the attributes that should not be trimmed.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
'current_password',
|
||||||
|
'password',
|
||||||
|
'password_confirmation',
|
||||||
|
];
|
||||||
|
}
|
20
app/Http/Middleware/TrustHosts.php
Normal file
20
app/Http/Middleware/TrustHosts.php
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Http\Middleware\TrustHosts as Middleware;
|
||||||
|
|
||||||
|
class TrustHosts extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get the host patterns that should be trusted.
|
||||||
|
*
|
||||||
|
* @return array<int, string|null>
|
||||||
|
*/
|
||||||
|
public function hosts(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
$this->allSubdomainsOfApplicationUrl(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
28
app/Http/Middleware/TrustProxies.php
Normal file
28
app/Http/Middleware/TrustProxies.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Http\Middleware\TrustProxies as Middleware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class TrustProxies extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The trusted proxies for this application.
|
||||||
|
*
|
||||||
|
* @var array<int, string>|string|null
|
||||||
|
*/
|
||||||
|
protected $proxies;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The headers that should be used to detect proxies.
|
||||||
|
*
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $headers =
|
||||||
|
Request::HEADER_X_FORWARDED_FOR |
|
||||||
|
Request::HEADER_X_FORWARDED_HOST |
|
||||||
|
Request::HEADER_X_FORWARDED_PORT |
|
||||||
|
Request::HEADER_X_FORWARDED_PROTO |
|
||||||
|
Request::HEADER_X_FORWARDED_AWS_ELB;
|
||||||
|
}
|
22
app/Http/Middleware/ValidateSignature.php
Normal file
22
app/Http/Middleware/ValidateSignature.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Routing\Middleware\ValidateSignature as Middleware;
|
||||||
|
|
||||||
|
class ValidateSignature extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The names of the query string parameters that should be ignored.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
// 'fbclid',
|
||||||
|
// 'utm_campaign',
|
||||||
|
// 'utm_content',
|
||||||
|
// 'utm_medium',
|
||||||
|
// 'utm_source',
|
||||||
|
// 'utm_term',
|
||||||
|
];
|
||||||
|
}
|
17
app/Http/Middleware/VerifyCsrfToken.php
Normal file
17
app/Http/Middleware/VerifyCsrfToken.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||||
|
|
||||||
|
class VerifyCsrfToken extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The URIs that should be excluded from CSRF verification.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $except = [
|
||||||
|
//
|
||||||
|
];
|
||||||
|
}
|
11
app/Models/Role.php
Normal file
11
app/Models/Role.php
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Role extends Model
|
||||||
|
{
|
||||||
|
use HasFactory;
|
||||||
|
}
|
46
app/Models/User.php
Normal file
46
app/Models/User.php
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
// use Illuminate\Contracts\Auth\MustVerifyEmail;
|
||||||
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||||
|
use Illuminate\Notifications\Notifiable;
|
||||||
|
use Laravel\Sanctum\HasApiTokens;
|
||||||
|
use Spatie\Permission\Traits\HasRoles;
|
||||||
|
|
||||||
|
class User extends Authenticatable
|
||||||
|
{
|
||||||
|
use HasApiTokens, HasFactory, Notifiable, HasRoles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that are mass assignable.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $fillable = [
|
||||||
|
'name',
|
||||||
|
'email',
|
||||||
|
'password',
|
||||||
|
'remember_token',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that should be hidden for serialization.
|
||||||
|
*
|
||||||
|
* @var array<int, string>
|
||||||
|
*/
|
||||||
|
protected $hidden = [
|
||||||
|
'password',
|
||||||
|
'remember_token',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The attributes that should be cast.
|
||||||
|
*
|
||||||
|
* @var array<string, string>
|
||||||
|
*/
|
||||||
|
protected $casts = [
|
||||||
|
'email_verified_at' => 'datetime',
|
||||||
|
];
|
||||||
|
}
|
24
app/Providers/AppServiceProvider.php
Normal file
24
app/Providers/AppServiceProvider.php
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
|
class AppServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Register any application services.
|
||||||
|
*/
|
||||||
|
public function register(): void
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bootstrap any application services.
|
||||||
|
*/
|
||||||
|
public function boot(): void
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
28
app/Providers/AuthServiceProvider.php
Normal file
28
app/Providers/AuthServiceProvider.php
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
// use Illuminate\Support\Facades\Gate;
|
||||||
|
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
|
||||||
|
|
||||||
|
class AuthServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The model to policy mappings for the application.
|
||||||
|
*
|
||||||
|
* @var array<class-string, class-string>
|
||||||
|
*/
|
||||||
|
protected $policies = [
|
||||||
|
// 'App\Models\Model' => 'App\Policies\ModelPolicy',
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register any authentication / authorization services.
|
||||||
|
*/
|
||||||
|
public function boot(): void
|
||||||
|
{
|
||||||
|
$this->registerPolicies();
|
||||||
|
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
19
app/Providers/BroadcastServiceProvider.php
Normal file
19
app/Providers/BroadcastServiceProvider.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Broadcast;
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
|
||||||
|
class BroadcastServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Bootstrap any application services.
|
||||||
|
*/
|
||||||
|
public function boot(): void
|
||||||
|
{
|
||||||
|
Broadcast::routes();
|
||||||
|
|
||||||
|
require base_path('routes/channels.php');
|
||||||
|
}
|
||||||
|
}
|
38
app/Providers/EventServiceProvider.php
Normal file
38
app/Providers/EventServiceProvider.php
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Auth\Events\Registered;
|
||||||
|
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
|
||||||
|
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
|
||||||
|
use Illuminate\Support\Facades\Event;
|
||||||
|
|
||||||
|
class EventServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The event to listener mappings for the application.
|
||||||
|
*
|
||||||
|
* @var array<class-string, array<int, class-string>>
|
||||||
|
*/
|
||||||
|
protected $listen = [
|
||||||
|
Registered::class => [
|
||||||
|
SendEmailVerificationNotification::class,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register any events for your application.
|
||||||
|
*/
|
||||||
|
public function boot(): void
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if events and listeners should be automatically discovered.
|
||||||
|
*/
|
||||||
|
public function shouldDiscoverEvents(): bool
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
48
app/Providers/RouteServiceProvider.php
Normal file
48
app/Providers/RouteServiceProvider.php
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Providers;
|
||||||
|
|
||||||
|
use Illuminate\Cache\RateLimiting\Limit;
|
||||||
|
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\RateLimiter;
|
||||||
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
class RouteServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The path to the "home" route for your application.
|
||||||
|
*
|
||||||
|
* Typically, users are redirected here after authentication.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
public const HOME = '/dashboard';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Define your route model bindings, pattern filters, and other route configuration.
|
||||||
|
*/
|
||||||
|
public function boot(): void
|
||||||
|
{
|
||||||
|
$this->configureRateLimiting();
|
||||||
|
|
||||||
|
$this->routes(function () {
|
||||||
|
Route::middleware('api')
|
||||||
|
->prefix('api')
|
||||||
|
->group(base_path('routes/api.php'));
|
||||||
|
|
||||||
|
Route::middleware('web')
|
||||||
|
->group(base_path('routes/web.php'));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure the rate limiters for the application.
|
||||||
|
*/
|
||||||
|
protected function configureRateLimiting(): void
|
||||||
|
{
|
||||||
|
RateLimiter::for('api', function (Request $request) {
|
||||||
|
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
26
app/View/Components/application-logo.php
Normal file
26
app/View/Components/application-logo.php
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\View\Components;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Contracts\View\View;
|
||||||
|
use Illuminate\View\Component;
|
||||||
|
|
||||||
|
class application-logo extends Component
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create a new component instance.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the view / contents that represent the component.
|
||||||
|
*/
|
||||||
|
public function render(): View|Closure|string
|
||||||
|
{
|
||||||
|
return view('components.application-logo');
|
||||||
|
}
|
||||||
|
}
|
26
app/View/Components/auth-session-status.php
Normal file
26
app/View/Components/auth-session-status.php
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\View\Components;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Contracts\View\View;
|
||||||
|
use Illuminate\View\Component;
|
||||||
|
|
||||||
|
class auth-session-status extends Component
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create a new component instance.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the view / contents that represent the component.
|
||||||
|
*/
|
||||||
|
public function render(): View|Closure|string
|
||||||
|
{
|
||||||
|
return view('components.auth-session-status');
|
||||||
|
}
|
||||||
|
}
|
53
artisan
Normal file
53
artisan
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
#!/usr/bin/env php
|
||||||
|
<?php
|
||||||
|
|
||||||
|
define('LARAVEL_START', microtime(true));
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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 of our classes manually. It's great to relax.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
require __DIR__.'/vendor/autoload.php';
|
||||||
|
|
||||||
|
$app = require_once __DIR__.'/bootstrap/app.php';
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
|
||||||
|
|
||||||
|
$status = $kernel->handle(
|
||||||
|
$input = new Symfony\Component\Console\Input\ArgvInput,
|
||||||
|
new Symfony\Component\Console\Output\ConsoleOutput
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
$kernel->terminate($input, $status);
|
||||||
|
|
||||||
|
exit($status);
|
55
bootstrap/app.php
Normal file
55
bootstrap/app.php
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
<?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(
|
||||||
|
$_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Bind Important Interfaces
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Next, we need to bind some important interfaces into the container so
|
||||||
|
| we will be able to resolve them when needed. The kernels serve the
|
||||||
|
| incoming requests to this application from both the web and CLI.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
$app->singleton(
|
||||||
|
Illuminate\Contracts\Http\Kernel::class,
|
||||||
|
App\Http\Kernel::class
|
||||||
|
);
|
||||||
|
|
||||||
|
$app->singleton(
|
||||||
|
Illuminate\Contracts\Console\Kernel::class,
|
||||||
|
App\Console\Kernel::class
|
||||||
|
);
|
||||||
|
|
||||||
|
$app->singleton(
|
||||||
|
Illuminate\Contracts\Debug\ExceptionHandler::class,
|
||||||
|
App\Exceptions\Handler::class
|
||||||
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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;
|
2
bootstrap/cache/.gitignore
vendored
Normal file
2
bootstrap/cache/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*
|
||||||
|
!.gitignore
|
70
composer.json
Normal file
70
composer.json
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
"name": "laravel/laravel",
|
||||||
|
"type": "project",
|
||||||
|
"description": "The Laravel Framework.",
|
||||||
|
"keywords": ["framework", "laravel"],
|
||||||
|
"license": "MIT",
|
||||||
|
"require": {
|
||||||
|
"php": "^8.1",
|
||||||
|
"guzzlehttp/guzzle": "^7.2",
|
||||||
|
"laravel/framework": "^10.0",
|
||||||
|
"laravel/sanctum": "^3.2",
|
||||||
|
"laravel/tinker": "^2.8",
|
||||||
|
"laravel/ui": "^4.5",
|
||||||
|
"spatie/laravel-permission": "^6.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"fakerphp/faker": "^1.9.1",
|
||||||
|
"laravel/pint": "^1.0",
|
||||||
|
"laravel/sail": "^1.18",
|
||||||
|
"mockery/mockery": "^1.4.4",
|
||||||
|
"nunomaduro/collision": "^7.0",
|
||||||
|
"phpunit/phpunit": "^10.0",
|
||||||
|
"spatie/laravel-ignition": "^2.0"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"App\\": "app/",
|
||||||
|
"Database\\Factories\\": "database/factories/",
|
||||||
|
"Database\\Seeders\\": "database/seeders/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload-dev": {
|
||||||
|
"psr-4": {
|
||||||
|
"Tests\\": "tests/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"post-autoload-dump": [
|
||||||
|
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
|
||||||
|
"@php artisan package:discover --ansi"
|
||||||
|
],
|
||||||
|
"post-update-cmd": [
|
||||||
|
"@php artisan vendor:publish --tag=laravel-assets --ansi --force"
|
||||||
|
],
|
||||||
|
"post-root-package-install": [
|
||||||
|
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
|
||||||
|
],
|
||||||
|
"post-create-project-cmd": [
|
||||||
|
"@php artisan key:generate --ansi"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "10.x-dev"
|
||||||
|
},
|
||||||
|
"laravel": {
|
||||||
|
"dont-discover": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"optimize-autoloader": true,
|
||||||
|
"preferred-install": "dist",
|
||||||
|
"sort-packages": true,
|
||||||
|
"allow-plugins": {
|
||||||
|
"pestphp/pest-plugin": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimum-stability": "stable",
|
||||||
|
"prefer-stable": true
|
||||||
|
}
|
8281
composer.lock
generated
Normal file
8281
composer.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
215
config/app.php
Normal file
215
config/app.php
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Facade;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Name
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This value is the name of your application. This value is used when the
|
||||||
|
| framework needs to place the application's name in a notification or
|
||||||
|
| any other location as required by the application or its packages.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'name' => env('APP_NAME', 'Laravel'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Application Environment
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This value determines the "environment" your application is currently
|
||||||
|
| running in. This may determine how you prefer to configure various
|
||||||
|
| services the application utilizes. Set this in your ".env" file.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'env' => env('APP_ENV', 'production'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => (bool) env('APP_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' => env('APP_URL', 'http://localhost'),
|
||||||
|
|
||||||
|
'asset_url' => env('ASSET_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' => 'UTC',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Faker Locale
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This locale will be used by the Faker PHP library when generating fake
|
||||||
|
| data for your database seeds. For example, this will be used to get
|
||||||
|
| localized telephone numbers, street address information and more.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'faker_locale' => 'en_US',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => env('APP_KEY'),
|
||||||
|
|
||||||
|
'cipher' => 'AES-256-CBC',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Maintenance Mode Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| These configuration options determine the driver used to determine and
|
||||||
|
| manage Laravel's "maintenance mode" status. The "cache" driver will
|
||||||
|
| allow maintenance mode to be controlled across multiple machines.
|
||||||
|
|
|
||||||
|
| Supported drivers: "file", "cache"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'maintenance' => [
|
||||||
|
'driver' => 'file',
|
||||||
|
// 'store' => 'redis',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Laravel Framework Service Providers...
|
||||||
|
*/
|
||||||
|
Illuminate\Auth\AuthServiceProvider::class,
|
||||||
|
Illuminate\Broadcasting\BroadcastServiceProvider::class,
|
||||||
|
Illuminate\Bus\BusServiceProvider::class,
|
||||||
|
Illuminate\Cache\CacheServiceProvider::class,
|
||||||
|
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
|
||||||
|
Illuminate\Cookie\CookieServiceProvider::class,
|
||||||
|
Illuminate\Database\DatabaseServiceProvider::class,
|
||||||
|
Illuminate\Encryption\EncryptionServiceProvider::class,
|
||||||
|
Illuminate\Filesystem\FilesystemServiceProvider::class,
|
||||||
|
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
|
||||||
|
Illuminate\Hashing\HashServiceProvider::class,
|
||||||
|
Illuminate\Mail\MailServiceProvider::class,
|
||||||
|
Illuminate\Notifications\NotificationServiceProvider::class,
|
||||||
|
Illuminate\Pagination\PaginationServiceProvider::class,
|
||||||
|
Illuminate\Pipeline\PipelineServiceProvider::class,
|
||||||
|
Illuminate\Queue\QueueServiceProvider::class,
|
||||||
|
Illuminate\Redis\RedisServiceProvider::class,
|
||||||
|
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
|
||||||
|
Illuminate\Session\SessionServiceProvider::class,
|
||||||
|
Illuminate\Translation\TranslationServiceProvider::class,
|
||||||
|
Illuminate\Validation\ValidationServiceProvider::class,
|
||||||
|
Illuminate\View\ViewServiceProvider::class,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Package Service Providers...
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Application Service Providers...
|
||||||
|
*/
|
||||||
|
App\Providers\AppServiceProvider::class,
|
||||||
|
App\Providers\AuthServiceProvider::class,
|
||||||
|
// App\Providers\BroadcastServiceProvider::class,
|
||||||
|
App\Providers\EventServiceProvider::class,
|
||||||
|
App\Providers\RouteServiceProvider::class,
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => Facade::defaultAliases()->merge([
|
||||||
|
// 'ExampleClass' => App\Example\ExampleClass::class,
|
||||||
|
])->toArray(),
|
||||||
|
|
||||||
|
];
|
115
config/auth.php
Normal file
115
config/auth.php
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Defaults
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default authentication "guard" and password
|
||||||
|
| reset options for your application. You may change these defaults
|
||||||
|
| as required, but they're a perfect start for most applications.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'defaults' => [
|
||||||
|
'guard' => 'web',
|
||||||
|
'passwords' => 'users',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Authentication Guards
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Next, you may define every authentication guard for your application.
|
||||||
|
| Of course, a great default configuration has been defined for you
|
||||||
|
| here which uses session storage and the Eloquent user provider.
|
||||||
|
|
|
||||||
|
| All authentication drivers have a user provider. This defines how the
|
||||||
|
| users are actually retrieved out of your database or other storage
|
||||||
|
| mechanisms used by this application to persist your user's data.
|
||||||
|
|
|
||||||
|
| Supported: "session"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'guards' => [
|
||||||
|
'web' => [
|
||||||
|
'driver' => 'session',
|
||||||
|
'provider' => 'users',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| User Providers
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| All authentication drivers have a user provider. This defines how the
|
||||||
|
| users are actually retrieved out of your database or other storage
|
||||||
|
| mechanisms used by this application to persist your user's data.
|
||||||
|
|
|
||||||
|
| If you have multiple user tables or models you may configure multiple
|
||||||
|
| sources which represent each model / table. These sources may then
|
||||||
|
| be assigned to any extra authentication guards you have defined.
|
||||||
|
|
|
||||||
|
| Supported: "database", "eloquent"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'providers' => [
|
||||||
|
'users' => [
|
||||||
|
'driver' => 'eloquent',
|
||||||
|
'model' => App\Models\User::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
// 'users' => [
|
||||||
|
// 'driver' => 'database',
|
||||||
|
// 'table' => 'users',
|
||||||
|
// ],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Resetting Passwords
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| You may specify multiple password reset configurations if you have more
|
||||||
|
| than one user table or model in the application and you want to have
|
||||||
|
| separate password reset settings based on the specific user types.
|
||||||
|
|
|
||||||
|
| The expire time is the number of minutes that each reset token will be
|
||||||
|
| considered valid. This security feature keeps tokens short-lived so
|
||||||
|
| they have less time to be guessed. You may change this as needed.
|
||||||
|
|
|
||||||
|
| The throttle setting is the number of seconds a user must wait before
|
||||||
|
| generating more password reset tokens. This prevents the user from
|
||||||
|
| quickly generating a very large amount of password reset tokens.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'passwords' => [
|
||||||
|
'users' => [
|
||||||
|
'provider' => 'users',
|
||||||
|
'table' => 'password_reset_tokens',
|
||||||
|
'expire' => 60,
|
||||||
|
'throttle' => 60,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Password Confirmation Timeout
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define the amount of seconds before a password confirmation
|
||||||
|
| times out and the user is prompted to re-enter their password via the
|
||||||
|
| confirmation screen. By default, the timeout lasts for three hours.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'password_timeout' => 10800,
|
||||||
|
|
||||||
|
];
|
70
config/broadcasting.php
Normal file
70
config/broadcasting.php
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Broadcaster
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default broadcaster that will be used by the
|
||||||
|
| framework when an event needs to be broadcast. You may set this to
|
||||||
|
| any of the connections defined in the "connections" array below.
|
||||||
|
|
|
||||||
|
| Supported: "pusher", "ably", "redis", "log", "null"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('BROADCAST_DRIVER', 'null'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Broadcast Connections
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define all of the broadcast connections that will be used
|
||||||
|
| to broadcast events to other systems or over websockets. Samples of
|
||||||
|
| each available type of connection are provided inside this array.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'connections' => [
|
||||||
|
|
||||||
|
'pusher' => [
|
||||||
|
'driver' => 'pusher',
|
||||||
|
'key' => env('PUSHER_APP_KEY'),
|
||||||
|
'secret' => env('PUSHER_APP_SECRET'),
|
||||||
|
'app_id' => env('PUSHER_APP_ID'),
|
||||||
|
'options' => [
|
||||||
|
'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
|
||||||
|
'port' => env('PUSHER_PORT', 443),
|
||||||
|
'scheme' => env('PUSHER_SCHEME', 'https'),
|
||||||
|
'encrypted' => true,
|
||||||
|
'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
|
||||||
|
],
|
||||||
|
'client_options' => [
|
||||||
|
// Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'ably' => [
|
||||||
|
'driver' => 'ably',
|
||||||
|
'key' => env('ABLY_KEY'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
'driver' => 'redis',
|
||||||
|
'connection' => 'default',
|
||||||
|
],
|
||||||
|
|
||||||
|
'log' => [
|
||||||
|
'driver' => 'log',
|
||||||
|
],
|
||||||
|
|
||||||
|
'null' => [
|
||||||
|
'driver' => 'null',
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
110
config/cache.php
Normal file
110
config/cache.php
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Cache Store
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default cache connection that gets used while
|
||||||
|
| using this caching library. This connection is used when another is
|
||||||
|
| not explicitly specified when executing a given caching function.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('CACHE_DRIVER', 'file'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Stores
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may define all of the cache "stores" for your application as
|
||||||
|
| well as their drivers. You may even define multiple stores for the
|
||||||
|
| same cache driver to group types of items stored in your caches.
|
||||||
|
|
|
||||||
|
| Supported drivers: "apc", "array", "database", "file",
|
||||||
|
| "memcached", "redis", "dynamodb", "octane", "null"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'stores' => [
|
||||||
|
|
||||||
|
'apc' => [
|
||||||
|
'driver' => 'apc',
|
||||||
|
],
|
||||||
|
|
||||||
|
'array' => [
|
||||||
|
'driver' => 'array',
|
||||||
|
'serialize' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'database' => [
|
||||||
|
'driver' => 'database',
|
||||||
|
'table' => 'cache',
|
||||||
|
'connection' => null,
|
||||||
|
'lock_connection' => null,
|
||||||
|
],
|
||||||
|
|
||||||
|
'file' => [
|
||||||
|
'driver' => 'file',
|
||||||
|
'path' => storage_path('framework/cache/data'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'memcached' => [
|
||||||
|
'driver' => 'memcached',
|
||||||
|
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
||||||
|
'sasl' => [
|
||||||
|
env('MEMCACHED_USERNAME'),
|
||||||
|
env('MEMCACHED_PASSWORD'),
|
||||||
|
],
|
||||||
|
'options' => [
|
||||||
|
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
|
||||||
|
],
|
||||||
|
'servers' => [
|
||||||
|
[
|
||||||
|
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
|
||||||
|
'port' => env('MEMCACHED_PORT', 11211),
|
||||||
|
'weight' => 100,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
'driver' => 'redis',
|
||||||
|
'connection' => 'cache',
|
||||||
|
'lock_connection' => 'default',
|
||||||
|
],
|
||||||
|
|
||||||
|
'dynamodb' => [
|
||||||
|
'driver' => 'dynamodb',
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||||
|
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
|
||||||
|
'endpoint' => env('DYNAMODB_ENDPOINT'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'octane' => [
|
||||||
|
'driver' => 'octane',
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cache Key Prefix
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When utilizing the APC, database, memcached, Redis, or DynamoDB cache
|
||||||
|
| stores there might be other applications using the same cache. For
|
||||||
|
| that reason, you may prefix every cache key to avoid collisions.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
|
||||||
|
|
||||||
|
];
|
34
config/cors.php
Normal file
34
config/cors.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Cross-Origin Resource Sharing (CORS) Configuration
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure your settings for cross-origin resource sharing
|
||||||
|
| or "CORS". This determines what cross-origin operations may execute
|
||||||
|
| in web browsers. You are free to adjust these settings as needed.
|
||||||
|
|
|
||||||
|
| To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'paths' => ['api/*', 'sanctum/csrf-cookie'],
|
||||||
|
|
||||||
|
'allowed_methods' => ['*'],
|
||||||
|
|
||||||
|
'allowed_origins' => ['*'],
|
||||||
|
|
||||||
|
'allowed_origins_patterns' => [],
|
||||||
|
|
||||||
|
'allowed_headers' => ['*'],
|
||||||
|
|
||||||
|
'exposed_headers' => [],
|
||||||
|
|
||||||
|
'max_age' => 0,
|
||||||
|
|
||||||
|
'supports_credentials' => false,
|
||||||
|
|
||||||
|
];
|
151
config/database.php
Normal file
151
config/database.php
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => env('DB_CONNECTION', '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' => [
|
||||||
|
|
||||||
|
'sqlite' => [
|
||||||
|
'driver' => 'sqlite',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
||||||
|
'prefix' => '',
|
||||||
|
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
|
||||||
|
],
|
||||||
|
|
||||||
|
'mysql' => [
|
||||||
|
'driver' => 'mysql',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'host' => env('DB_HOST', '127.0.0.1'),
|
||||||
|
'port' => env('DB_PORT', '3306'),
|
||||||
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
|
'unix_socket' => env('DB_SOCKET', ''),
|
||||||
|
'charset' => 'utf8mb4',
|
||||||
|
'collation' => 'utf8mb4_unicode_ci',
|
||||||
|
'prefix' => '',
|
||||||
|
'prefix_indexes' => true,
|
||||||
|
'strict' => true,
|
||||||
|
'engine' => null,
|
||||||
|
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||||
|
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||||
|
]) : [],
|
||||||
|
],
|
||||||
|
|
||||||
|
'pgsql' => [
|
||||||
|
'driver' => 'pgsql',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'host' => env('DB_HOST', '127.0.0.1'),
|
||||||
|
'port' => env('DB_PORT', '5432'),
|
||||||
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
|
'charset' => 'utf8',
|
||||||
|
'prefix' => '',
|
||||||
|
'prefix_indexes' => true,
|
||||||
|
'search_path' => 'public',
|
||||||
|
'sslmode' => 'prefer',
|
||||||
|
],
|
||||||
|
|
||||||
|
'sqlsrv' => [
|
||||||
|
'driver' => 'sqlsrv',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'host' => env('DB_HOST', 'localhost'),
|
||||||
|
'port' => env('DB_PORT', '1433'),
|
||||||
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
|
'charset' => 'utf8',
|
||||||
|
'prefix' => '',
|
||||||
|
'prefix_indexes' => true,
|
||||||
|
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
|
||||||
|
// 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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 body of commands than a typical key-value system
|
||||||
|
| such as APC or Memcached. Laravel makes it easy to dig right in.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
|
||||||
|
'client' => env('REDIS_CLIENT', 'phpredis'),
|
||||||
|
|
||||||
|
'options' => [
|
||||||
|
'cluster' => env('REDIS_CLUSTER', 'redis'),
|
||||||
|
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'default' => [
|
||||||
|
'url' => env('REDIS_URL'),
|
||||||
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||||
|
'username' => env('REDIS_USERNAME'),
|
||||||
|
'password' => env('REDIS_PASSWORD'),
|
||||||
|
'port' => env('REDIS_PORT', '6379'),
|
||||||
|
'database' => env('REDIS_DB', '0'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'cache' => [
|
||||||
|
'url' => env('REDIS_URL'),
|
||||||
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||||
|
'username' => env('REDIS_USERNAME'),
|
||||||
|
'password' => env('REDIS_PASSWORD'),
|
||||||
|
'port' => env('REDIS_PORT', '6379'),
|
||||||
|
'database' => env('REDIS_CACHE_DB', '1'),
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
76
config/filesystems.php
Normal file
76
config/filesystems.php
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Filesystem Disk
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the default filesystem disk that should be used
|
||||||
|
| by the framework. The "local" disk, as well as a variety of cloud
|
||||||
|
| based disks are available to your application. Just store away!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('FILESYSTEM_DISK', 'local'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Filesystem Disks
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure as many filesystem "disks" as you wish, and you
|
||||||
|
| may even configure multiple disks of the same driver. Defaults have
|
||||||
|
| been set up for each driver as an example of the required values.
|
||||||
|
|
|
||||||
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'disks' => [
|
||||||
|
|
||||||
|
'local' => [
|
||||||
|
'driver' => 'local',
|
||||||
|
'root' => storage_path('app'),
|
||||||
|
'throw' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'public' => [
|
||||||
|
'driver' => 'local',
|
||||||
|
'root' => storage_path('app/public'),
|
||||||
|
'url' => env('APP_URL').'/storage',
|
||||||
|
'visibility' => 'public',
|
||||||
|
'throw' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
's3' => [
|
||||||
|
'driver' => 's3',
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION'),
|
||||||
|
'bucket' => env('AWS_BUCKET'),
|
||||||
|
'url' => env('AWS_URL'),
|
||||||
|
'endpoint' => env('AWS_ENDPOINT'),
|
||||||
|
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
|
||||||
|
'throw' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Symbolic Links
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure the symbolic links that will be created when the
|
||||||
|
| `storage:link` Artisan command is executed. The array keys should be
|
||||||
|
| the locations of the links and the values should be their targets.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'links' => [
|
||||||
|
public_path('storage') => storage_path('app/public'),
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
52
config/hashing.php
Normal file
52
config/hashing.php
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Hash Driver
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default hash driver that will be used to hash
|
||||||
|
| passwords for your application. By default, the bcrypt algorithm is
|
||||||
|
| used; however, you remain free to modify this option if you wish.
|
||||||
|
|
|
||||||
|
| Supported: "bcrypt", "argon", "argon2id"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => 'bcrypt',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Bcrypt Options
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the configuration options that should be used when
|
||||||
|
| passwords are hashed using the Bcrypt algorithm. This will allow you
|
||||||
|
| to control the amount of time it takes to hash the given password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'bcrypt' => [
|
||||||
|
'rounds' => env('BCRYPT_ROUNDS', 10),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Argon Options
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may specify the configuration options that should be used when
|
||||||
|
| passwords are hashed using the Argon algorithm. These will allow you
|
||||||
|
| to control the amount of time it takes to hash the given password.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'argon' => [
|
||||||
|
'memory' => 65536,
|
||||||
|
'threads' => 1,
|
||||||
|
'time' => 4,
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
122
config/logging.php
Normal file
122
config/logging.php
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Monolog\Handler\NullHandler;
|
||||||
|
use Monolog\Handler\StreamHandler;
|
||||||
|
use Monolog\Handler\SyslogUdpHandler;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Log Channel
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option defines the default log channel that gets used when writing
|
||||||
|
| messages to the logs. The name specified in this option should match
|
||||||
|
| one of the channels defined in the "channels" configuration array.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('LOG_CHANNEL', 'stack'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Deprecations Log Channel
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the log channel that should be used to log warnings
|
||||||
|
| regarding deprecated PHP and library features. This allows you to get
|
||||||
|
| your application ready for upcoming major versions of dependencies.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'deprecations' => [
|
||||||
|
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
|
||||||
|
'trace' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Log Channels
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure the log channels for your application. Out of
|
||||||
|
| the box, Laravel uses the Monolog PHP logging library. This gives
|
||||||
|
| you a variety of powerful log handlers / formatters to utilize.
|
||||||
|
|
|
||||||
|
| Available Drivers: "single", "daily", "slack", "syslog",
|
||||||
|
| "errorlog", "monolog",
|
||||||
|
| "custom", "stack"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'channels' => [
|
||||||
|
'stack' => [
|
||||||
|
'driver' => 'stack',
|
||||||
|
'channels' => ['single'],
|
||||||
|
'ignore_exceptions' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'single' => [
|
||||||
|
'driver' => 'single',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'daily' => [
|
||||||
|
'driver' => 'daily',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'days' => 14,
|
||||||
|
],
|
||||||
|
|
||||||
|
'slack' => [
|
||||||
|
'driver' => 'slack',
|
||||||
|
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||||
|
'username' => 'Laravel Log',
|
||||||
|
'emoji' => ':boom:',
|
||||||
|
'level' => env('LOG_LEVEL', 'critical'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'papertrail' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
|
||||||
|
'handler_with' => [
|
||||||
|
'host' => env('PAPERTRAIL_URL'),
|
||||||
|
'port' => env('PAPERTRAIL_PORT'),
|
||||||
|
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'stderr' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'handler' => StreamHandler::class,
|
||||||
|
'formatter' => env('LOG_STDERR_FORMATTER'),
|
||||||
|
'with' => [
|
||||||
|
'stream' => 'php://stderr',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'syslog' => [
|
||||||
|
'driver' => 'syslog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'errorlog' => [
|
||||||
|
'driver' => 'errorlog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'null' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'handler' => NullHandler::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
'emergency' => [
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
124
config/mail.php
Normal file
124
config/mail.php
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Mailer
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option controls the default mailer that is used to send any email
|
||||||
|
| messages sent by your application. Alternative mailers may be setup
|
||||||
|
| and used as needed; however, this mailer will be used by default.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('MAIL_MAILER', 'smtp'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Mailer Configurations
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure all of the mailers used by your application plus
|
||||||
|
| their respective settings. Several examples have been configured for
|
||||||
|
| you and you are free to add your own as your application requires.
|
||||||
|
|
|
||||||
|
| Laravel supports a variety of mail "transport" drivers to be used while
|
||||||
|
| sending an e-mail. You will specify which one you are using for your
|
||||||
|
| mailers below. You are free to add additional mailers as required.
|
||||||
|
|
|
||||||
|
| Supported: "smtp", "sendmail", "mailgun", "ses",
|
||||||
|
| "postmark", "log", "array", "failover"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'mailers' => [
|
||||||
|
'smtp' => [
|
||||||
|
'transport' => 'smtp',
|
||||||
|
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||||
|
'port' => env('MAIL_PORT', 587),
|
||||||
|
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
||||||
|
'username' => env('MAIL_USERNAME'),
|
||||||
|
'password' => env('MAIL_PASSWORD'),
|
||||||
|
'timeout' => null,
|
||||||
|
'local_domain' => env('MAIL_EHLO_DOMAIN'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'ses' => [
|
||||||
|
'transport' => 'ses',
|
||||||
|
],
|
||||||
|
|
||||||
|
'mailgun' => [
|
||||||
|
'transport' => 'mailgun',
|
||||||
|
// 'client' => [
|
||||||
|
// 'timeout' => 5,
|
||||||
|
// ],
|
||||||
|
],
|
||||||
|
|
||||||
|
'postmark' => [
|
||||||
|
'transport' => 'postmark',
|
||||||
|
// 'client' => [
|
||||||
|
// 'timeout' => 5,
|
||||||
|
// ],
|
||||||
|
],
|
||||||
|
|
||||||
|
'sendmail' => [
|
||||||
|
'transport' => 'sendmail',
|
||||||
|
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'log' => [
|
||||||
|
'transport' => 'log',
|
||||||
|
'channel' => env('MAIL_LOG_CHANNEL'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'array' => [
|
||||||
|
'transport' => 'array',
|
||||||
|
],
|
||||||
|
|
||||||
|
'failover' => [
|
||||||
|
'transport' => 'failover',
|
||||||
|
'mailers' => [
|
||||||
|
'smtp',
|
||||||
|
'log',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => [
|
||||||
|
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
||||||
|
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Markdown Mail Settings
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you are using Markdown based email rendering, you may configure your
|
||||||
|
| theme and component paths here, allowing you to customize the design
|
||||||
|
| of the emails. Or, you may simply stick with the Laravel defaults!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'markdown' => [
|
||||||
|
'theme' => 'default',
|
||||||
|
|
||||||
|
'paths' => [
|
||||||
|
resource_path('views/vendor/mail'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
186
config/permission.php
Normal file
186
config/permission.php
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
'models' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When using the "HasPermissions" trait from this package, we need to know which
|
||||||
|
* Eloquent model should be used to retrieve your permissions. Of course, it
|
||||||
|
* is often just the "Permission" model but you may use whatever you like.
|
||||||
|
*
|
||||||
|
* The model you want to use as a Permission model needs to implement the
|
||||||
|
* `Spatie\Permission\Contracts\Permission` contract.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'permission' => Spatie\Permission\Models\Permission::class,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When using the "HasRoles" trait from this package, we need to know which
|
||||||
|
* Eloquent model should be used to retrieve your roles. Of course, it
|
||||||
|
* is often just the "Role" model but you may use whatever you like.
|
||||||
|
*
|
||||||
|
* The model you want to use as a Role model needs to implement the
|
||||||
|
* `Spatie\Permission\Contracts\Role` contract.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'role' => Spatie\Permission\Models\Role::class,
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
'table_names' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When using the "HasRoles" trait from this package, we need to know which
|
||||||
|
* table should be used to retrieve your roles. We have chosen a basic
|
||||||
|
* default value but you may easily change it to any table you like.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'roles' => 'roles',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When using the "HasPermissions" trait from this package, we need to know which
|
||||||
|
* table should be used to retrieve your permissions. We have chosen a basic
|
||||||
|
* default value but you may easily change it to any table you like.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'permissions' => 'permissions',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When using the "HasPermissions" trait from this package, we need to know which
|
||||||
|
* table should be used to retrieve your models permissions. We have chosen a
|
||||||
|
* basic default value but you may easily change it to any table you like.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'model_has_permissions' => 'model_has_permissions',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When using the "HasRoles" trait from this package, we need to know which
|
||||||
|
* table should be used to retrieve your models roles. We have chosen a
|
||||||
|
* basic default value but you may easily change it to any table you like.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'model_has_roles' => 'model_has_roles',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When using the "HasRoles" trait from this package, we need to know which
|
||||||
|
* table should be used to retrieve your roles permissions. We have chosen a
|
||||||
|
* basic default value but you may easily change it to any table you like.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'role_has_permissions' => 'role_has_permissions',
|
||||||
|
],
|
||||||
|
|
||||||
|
'column_names' => [
|
||||||
|
/*
|
||||||
|
* Change this if you want to name the related pivots other than defaults
|
||||||
|
*/
|
||||||
|
'role_pivot_key' => null, //default 'role_id',
|
||||||
|
'permission_pivot_key' => null, //default 'permission_id',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Change this if you want to name the related model primary key other than
|
||||||
|
* `model_id`.
|
||||||
|
*
|
||||||
|
* For example, this would be nice if your primary keys are all UUIDs. In
|
||||||
|
* that case, name this `model_uuid`.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'model_morph_key' => 'model_id',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Change this if you want to use the teams feature and your related model's
|
||||||
|
* foreign key is other than `team_id`.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'team_foreign_key' => 'team_id',
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When set to true, the method for checking permissions will be registered on the gate.
|
||||||
|
* Set this to false if you want to implement custom logic for checking permissions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'register_permission_check_method' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When set to true, Laravel\Octane\Events\OperationTerminated event listener will be registered
|
||||||
|
* this will refresh permissions on every TickTerminated, TaskTerminated and RequestTerminated
|
||||||
|
* NOTE: This should not be needed in most cases, but an Octane/Vapor combination benefited from it.
|
||||||
|
*/
|
||||||
|
'register_octane_reset_listener' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Teams Feature.
|
||||||
|
* When set to true the package implements teams using the 'team_foreign_key'.
|
||||||
|
* If you want the migrations to register the 'team_foreign_key', you must
|
||||||
|
* set this to true before doing the migration.
|
||||||
|
* If you already did the migration then you must make a new migration to also
|
||||||
|
* add 'team_foreign_key' to 'roles', 'model_has_roles', and 'model_has_permissions'
|
||||||
|
* (view the latest version of this package's migration file)
|
||||||
|
*/
|
||||||
|
|
||||||
|
'teams' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Passport Client Credentials Grant
|
||||||
|
* When set to true the package will use Passports Client to check permissions
|
||||||
|
*/
|
||||||
|
|
||||||
|
'use_passport_client_credentials' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When set to true, the required permission names are added to exception messages.
|
||||||
|
* This could be considered an information leak in some contexts, so the default
|
||||||
|
* setting is false here for optimum safety.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'display_permission_in_exception' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When set to true, the required role names are added to exception messages.
|
||||||
|
* This could be considered an information leak in some contexts, so the default
|
||||||
|
* setting is false here for optimum safety.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'display_role_in_exception' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* By default wildcard permission lookups are disabled.
|
||||||
|
* See documentation to understand supported syntax.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'enable_wildcard_permission' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The class to use for interpreting wildcard permissions.
|
||||||
|
* If you need to modify delimiters, override the class and specify its name here.
|
||||||
|
*/
|
||||||
|
// 'permission.wildcard_permission' => Spatie\Permission\WildcardPermission::class,
|
||||||
|
|
||||||
|
/* Cache-specific settings */
|
||||||
|
|
||||||
|
'cache' => [
|
||||||
|
|
||||||
|
/*
|
||||||
|
* By default all permissions are cached for 24 hours to speed up performance.
|
||||||
|
* When permissions or roles are updated the cache is flushed automatically.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'expiration_time' => \DateInterval::createFromDateString('24 hours'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The cache key used to store all permissions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'key' => 'spatie.permission.cache',
|
||||||
|
|
||||||
|
/*
|
||||||
|
* You may optionally indicate a specific cache driver to use for permission and
|
||||||
|
* role caching using any of the `store` drivers listed in the cache.php config
|
||||||
|
* file. Using 'default' here means to use the `default` set in cache.php.
|
||||||
|
*/
|
||||||
|
|
||||||
|
'store' => 'default',
|
||||||
|
],
|
||||||
|
];
|
93
config/queue.php
Normal file
93
config/queue.php
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Queue Connection Name
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Laravel's queue API supports an assortment of back-ends via a single
|
||||||
|
| API, giving you convenient access to each back-end using the same
|
||||||
|
| syntax for every one. Here you may define a default connection.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('QUEUE_CONNECTION', '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.
|
||||||
|
|
|
||||||
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'connections' => [
|
||||||
|
|
||||||
|
'sync' => [
|
||||||
|
'driver' => 'sync',
|
||||||
|
],
|
||||||
|
|
||||||
|
'database' => [
|
||||||
|
'driver' => 'database',
|
||||||
|
'table' => 'jobs',
|
||||||
|
'queue' => 'default',
|
||||||
|
'retry_after' => 90,
|
||||||
|
'after_commit' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'beanstalkd' => [
|
||||||
|
'driver' => 'beanstalkd',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'queue' => 'default',
|
||||||
|
'retry_after' => 90,
|
||||||
|
'block_for' => 0,
|
||||||
|
'after_commit' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'sqs' => [
|
||||||
|
'driver' => 'sqs',
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
|
||||||
|
'queue' => env('SQS_QUEUE', 'default'),
|
||||||
|
'suffix' => env('SQS_SUFFIX'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||||
|
'after_commit' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'redis' => [
|
||||||
|
'driver' => 'redis',
|
||||||
|
'connection' => 'default',
|
||||||
|
'queue' => env('REDIS_QUEUE', 'default'),
|
||||||
|
'retry_after' => 90,
|
||||||
|
'block_for' => null,
|
||||||
|
'after_commit' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => [
|
||||||
|
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
|
||||||
|
'database' => env('DB_CONNECTION', 'mysql'),
|
||||||
|
'table' => 'failed_jobs',
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
67
config/sanctum.php
Normal file
67
config/sanctum.php
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Laravel\Sanctum\Sanctum;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Stateful Domains
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Requests from the following domains / hosts will receive stateful API
|
||||||
|
| authentication cookies. Typically, these should include your local
|
||||||
|
| and production domains which access your API via a frontend SPA.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
|
||||||
|
'%s%s',
|
||||||
|
'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
|
||||||
|
Sanctum::currentApplicationUrlWithPort()
|
||||||
|
))),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Sanctum Guards
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This array contains the authentication guards that will be checked when
|
||||||
|
| Sanctum is trying to authenticate a request. If none of these guards
|
||||||
|
| are able to authenticate the request, Sanctum will use the bearer
|
||||||
|
| token that's present on an incoming request for authentication.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'guard' => ['web'],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Expiration Minutes
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This value controls the number of minutes until an issued token will be
|
||||||
|
| considered expired. If this value is null, personal access tokens do
|
||||||
|
| not expire. This won't tweak the lifetime of first-party sessions.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'expiration' => null,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Sanctum Middleware
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| When authenticating your first-party SPA with Sanctum you may need to
|
||||||
|
| customize some of the middleware Sanctum uses while processing the
|
||||||
|
| request. You may change the middleware listed below as required.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'middleware' => [
|
||||||
|
'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
|
||||||
|
'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
34
config/services.php
Normal file
34
config/services.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Third Party Services
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This file is for storing the credentials for third party services such
|
||||||
|
| as Mailgun, Postmark, AWS and more. This file provides the de facto
|
||||||
|
| location for this type of information, allowing packages to have
|
||||||
|
| a conventional file to locate the various service credentials.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'mailgun' => [
|
||||||
|
'domain' => env('MAILGUN_DOMAIN'),
|
||||||
|
'secret' => env('MAILGUN_SECRET'),
|
||||||
|
'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
|
||||||
|
'scheme' => 'https',
|
||||||
|
],
|
||||||
|
|
||||||
|
'postmark' => [
|
||||||
|
'token' => env('POSTMARK_TOKEN'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'ses' => [
|
||||||
|
'key' => env('AWS_ACCESS_KEY_ID'),
|
||||||
|
'secret' => env('AWS_SECRET_ACCESS_KEY'),
|
||||||
|
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
201
config/session.php
Normal file
201
config/session.php
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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", "dynamodb", "array"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'driver' => env('SESSION_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' => env('SESSION_LIFETIME', 120),
|
||||||
|
|
||||||
|
'expire_on_close' => false,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Session Encryption
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option allows you to easily specify that all of your session data
|
||||||
|
| should be encrypted before it is stored. All encryption will be run
|
||||||
|
| automatically by Laravel and you can use the Session like normal.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'encrypt' => 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('framework/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' => env('SESSION_CONNECTION'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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 Cache Store
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| While using one of the framework's cache driven session backends you may
|
||||||
|
| list a cache store that should be used for these sessions. This value
|
||||||
|
| must match with one of the application's configured cache "stores".
|
||||||
|
|
|
||||||
|
| Affects: "apc", "dynamodb", "memcached", "redis"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'store' => env('SESSION_STORE'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => [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' => env(
|
||||||
|
'SESSION_COOKIE',
|
||||||
|
Str::slug(env('APP_NAME', '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' => env('SESSION_DOMAIN'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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 when it can't be done securely.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'secure' => env('SESSION_SECURE_COOKIE'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| HTTP Access Only
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Setting this value to true will prevent JavaScript from accessing the
|
||||||
|
| value of the cookie and the cookie will only be accessible through
|
||||||
|
| the HTTP protocol. You are free to modify this option if needed.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'http_only' => true,
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Same-Site Cookies
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option determines how your cookies behave when cross-site requests
|
||||||
|
| take place, and can be used to mitigate CSRF attacks. By default, we
|
||||||
|
| will set this value to "lax" since this is a secure default value.
|
||||||
|
|
|
||||||
|
| Supported: "lax", "strict", "none", null
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'same_site' => 'lax',
|
||||||
|
|
||||||
|
];
|
36
config/view.php
Normal file
36
config/view.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 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' => [
|
||||||
|
resource_path('views'),
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Compiled View Path
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option determines where all the compiled Blade templates will be
|
||||||
|
| stored for your application. Typically, this is within the storage
|
||||||
|
| directory. However, as usual, you are free to change this value.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'compiled' => env(
|
||||||
|
'VIEW_COMPILED_PATH',
|
||||||
|
realpath(storage_path('framework/views'))
|
||||||
|
),
|
||||||
|
|
||||||
|
];
|
1
database/.gitignore
vendored
Normal file
1
database/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.sqlite*
|
40
database/factories/UserFactory.php
Normal file
40
database/factories/UserFactory.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Factories;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
|
||||||
|
*/
|
||||||
|
class UserFactory extends Factory
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Define the model's default state.
|
||||||
|
*
|
||||||
|
* @return array<string, mixed>
|
||||||
|
*/
|
||||||
|
public function definition(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'name' => fake()->name(),
|
||||||
|
'email' => fake()->unique()->safeEmail(),
|
||||||
|
'email_verified_at' => now(),
|
||||||
|
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
||||||
|
'remember_token' => Str::random(10),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicate that the model's email address should be unverified.
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function unverified(): static
|
||||||
|
{
|
||||||
|
return $this->state(fn (array $attributes) => [
|
||||||
|
'email_verified_at' => null,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
32
database/migrations/2014_10_12_000000_create_users_table.php
Normal file
32
database/migrations/2014_10_12_000000_create_users_table.php
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('users', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->string('name');
|
||||||
|
$table->string('email')->unique();
|
||||||
|
$table->timestamp('email_verified_at')->nullable();
|
||||||
|
$table->string('password');
|
||||||
|
$table->rememberToken();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('users');
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('password_reset_tokens', function (Blueprint $table) {
|
||||||
|
$table->string('email')->primary();
|
||||||
|
$table->string('token');
|
||||||
|
$table->timestamp('created_at')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('password_reset_tokens');
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('password_resets', function (Blueprint $table) {
|
||||||
|
$table->string('email')->index();
|
||||||
|
$table->string('token');
|
||||||
|
$table->timestamp('created_at')->nullable();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('password_resets');
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('failed_jobs', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->string('uuid')->unique();
|
||||||
|
$table->text('connection');
|
||||||
|
$table->text('queue');
|
||||||
|
$table->longText('payload');
|
||||||
|
$table->longText('exception');
|
||||||
|
$table->timestamp('failed_at')->useCurrent();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('failed_jobs');
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::create('personal_access_tokens', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->morphs('tokenable');
|
||||||
|
$table->string('name');
|
||||||
|
$table->string('token', 64)->unique();
|
||||||
|
$table->text('abilities')->nullable();
|
||||||
|
$table->timestamp('last_used_at')->nullable();
|
||||||
|
$table->timestamp('expires_at')->nullable();
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('personal_access_tokens');
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,138 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
$teams = config('permission.teams');
|
||||||
|
$tableNames = config('permission.table_names');
|
||||||
|
$columnNames = config('permission.column_names');
|
||||||
|
$pivotRole = $columnNames['role_pivot_key'] ?? 'role_id';
|
||||||
|
$pivotPermission = $columnNames['permission_pivot_key'] ?? 'permission_id';
|
||||||
|
|
||||||
|
if (empty($tableNames)) {
|
||||||
|
throw new \Exception('Error: config/permission.php not loaded. Run [php artisan config:clear] and try again.');
|
||||||
|
}
|
||||||
|
if ($teams && empty($columnNames['team_foreign_key'] ?? null)) {
|
||||||
|
throw new \Exception('Error: team_foreign_key on config/permission.php not loaded. Run [php artisan config:clear] and try again.');
|
||||||
|
}
|
||||||
|
|
||||||
|
Schema::create($tableNames['permissions'], function (Blueprint $table) {
|
||||||
|
$table->bigIncrements('id'); // permission id
|
||||||
|
$table->string('name'); // For MySQL 8.0 use string('name', 125);
|
||||||
|
$table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125);
|
||||||
|
$table->timestamps();
|
||||||
|
|
||||||
|
$table->unique(['name', 'guard_name']);
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::create($tableNames['roles'], function (Blueprint $table) use ($teams, $columnNames) {
|
||||||
|
$table->bigIncrements('id'); // role id
|
||||||
|
if ($teams || config('permission.testing')) { // permission.testing is a fix for sqlite testing
|
||||||
|
$table->unsignedBigInteger($columnNames['team_foreign_key'])->nullable();
|
||||||
|
$table->index($columnNames['team_foreign_key'], 'roles_team_foreign_key_index');
|
||||||
|
}
|
||||||
|
$table->string('name'); // For MySQL 8.0 use string('name', 125);
|
||||||
|
$table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125);
|
||||||
|
$table->timestamps();
|
||||||
|
if ($teams || config('permission.testing')) {
|
||||||
|
$table->unique([$columnNames['team_foreign_key'], 'name', 'guard_name']);
|
||||||
|
} else {
|
||||||
|
$table->unique(['name', 'guard_name']);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames, $pivotPermission, $teams) {
|
||||||
|
$table->unsignedBigInteger($pivotPermission);
|
||||||
|
|
||||||
|
$table->string('model_type');
|
||||||
|
$table->unsignedBigInteger($columnNames['model_morph_key']);
|
||||||
|
$table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index');
|
||||||
|
|
||||||
|
$table->foreign($pivotPermission)
|
||||||
|
->references('id') // permission id
|
||||||
|
->on($tableNames['permissions'])
|
||||||
|
->onDelete('cascade');
|
||||||
|
if ($teams) {
|
||||||
|
$table->unsignedBigInteger($columnNames['team_foreign_key']);
|
||||||
|
$table->index($columnNames['team_foreign_key'], 'model_has_permissions_team_foreign_key_index');
|
||||||
|
|
||||||
|
$table->primary([$columnNames['team_foreign_key'], $pivotPermission, $columnNames['model_morph_key'], 'model_type'],
|
||||||
|
'model_has_permissions_permission_model_type_primary');
|
||||||
|
} else {
|
||||||
|
$table->primary([$pivotPermission, $columnNames['model_morph_key'], 'model_type'],
|
||||||
|
'model_has_permissions_permission_model_type_primary');
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames, $pivotRole, $teams) {
|
||||||
|
$table->unsignedBigInteger($pivotRole);
|
||||||
|
|
||||||
|
$table->string('model_type');
|
||||||
|
$table->unsignedBigInteger($columnNames['model_morph_key']);
|
||||||
|
$table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index');
|
||||||
|
|
||||||
|
$table->foreign($pivotRole)
|
||||||
|
->references('id') // role id
|
||||||
|
->on($tableNames['roles'])
|
||||||
|
->onDelete('cascade');
|
||||||
|
if ($teams) {
|
||||||
|
$table->unsignedBigInteger($columnNames['team_foreign_key']);
|
||||||
|
$table->index($columnNames['team_foreign_key'], 'model_has_roles_team_foreign_key_index');
|
||||||
|
|
||||||
|
$table->primary([$columnNames['team_foreign_key'], $pivotRole, $columnNames['model_morph_key'], 'model_type'],
|
||||||
|
'model_has_roles_role_model_type_primary');
|
||||||
|
} else {
|
||||||
|
$table->primary([$pivotRole, $columnNames['model_morph_key'], 'model_type'],
|
||||||
|
'model_has_roles_role_model_type_primary');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames, $pivotRole, $pivotPermission) {
|
||||||
|
$table->unsignedBigInteger($pivotPermission);
|
||||||
|
$table->unsignedBigInteger($pivotRole);
|
||||||
|
|
||||||
|
$table->foreign($pivotPermission)
|
||||||
|
->references('id') // permission id
|
||||||
|
->on($tableNames['permissions'])
|
||||||
|
->onDelete('cascade');
|
||||||
|
|
||||||
|
$table->foreign($pivotRole)
|
||||||
|
->references('id') // role id
|
||||||
|
->on($tableNames['roles'])
|
||||||
|
->onDelete('cascade');
|
||||||
|
|
||||||
|
$table->primary([$pivotPermission, $pivotRole], 'role_has_permissions_permission_id_role_id_primary');
|
||||||
|
});
|
||||||
|
|
||||||
|
app('cache')
|
||||||
|
->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null)
|
||||||
|
->forget(config('permission.cache.key'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
$tableNames = config('permission.table_names');
|
||||||
|
|
||||||
|
if (empty($tableNames)) {
|
||||||
|
throw new \Exception('Error: config/permission.php not found and defaults could not be merged. Please publish the package configuration before proceeding, or drop the tables manually.');
|
||||||
|
}
|
||||||
|
|
||||||
|
Schema::drop($tableNames['role_has_permissions']);
|
||||||
|
Schema::drop($tableNames['model_has_roles']);
|
||||||
|
Schema::drop($tableNames['model_has_permissions']);
|
||||||
|
Schema::drop($tableNames['roles']);
|
||||||
|
Schema::drop($tableNames['permissions']);
|
||||||
|
}
|
||||||
|
};
|
57
database/seeders/DatabaseSeeder.php
Normal file
57
database/seeders/DatabaseSeeder.php
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use Spatie\Permission\Models\Permission;
|
||||||
|
use Spatie\Permission\Models\Role;
|
||||||
|
|
||||||
|
class DatabaseSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Seed the application's database.
|
||||||
|
*/
|
||||||
|
public function run(): void
|
||||||
|
{
|
||||||
|
// \App\Models\User::factory(10)->create();
|
||||||
|
|
||||||
|
$admin = \App\Models\User::factory()->create([
|
||||||
|
'name' => 'Admin User',
|
||||||
|
'email' => 'admin@gmail.com',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$member = \App\Models\User::factory()->create([
|
||||||
|
'name' => 'Member User',
|
||||||
|
'email' => 'member@gmail.com',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$adminRole = Role::create(['name' => 'admin']);
|
||||||
|
$memberRole = Role::create(['name' => 'member']);
|
||||||
|
|
||||||
|
$permission = Permission::create(['name' => 'create products']);
|
||||||
|
$permission = Permission::create(['name' => 'access products']);
|
||||||
|
$permission = Permission::create(['name' => 'edit products']);
|
||||||
|
$permission = Permission::create(['name' => 'delete products']);
|
||||||
|
|
||||||
|
$permission = Permission::create(['name' => 'access roles']);
|
||||||
|
$permission = Permission::create(['name' => 'edit roles']);
|
||||||
|
$permission = Permission::create(['name' => 'create roles']);
|
||||||
|
$permission = Permission::create(['name' => 'delete roles']);
|
||||||
|
|
||||||
|
$permission = Permission::create(['name' => 'access users']);
|
||||||
|
$permission = Permission::create(['name' => 'edit users']);
|
||||||
|
$permission = Permission::create(['name' => 'create users']);
|
||||||
|
$permission = Permission::create(['name' => 'delete users']);
|
||||||
|
|
||||||
|
$permission = Permission::create(['name' => 'access permissions']);
|
||||||
|
$permission = Permission::create(['name' => 'edit permissions']);
|
||||||
|
$permission = Permission::create(['name' => 'create permissions']);
|
||||||
|
$permission = Permission::create(['name' => 'delete permissions']);
|
||||||
|
|
||||||
|
$admin->assignRole($adminRole);
|
||||||
|
$member->assignRole($memberRole);
|
||||||
|
|
||||||
|
$adminRole->givePermissionTo(Permission::all());
|
||||||
|
}
|
||||||
|
}
|
901
package-lock.json
generated
Normal file
901
package-lock.json
generated
Normal file
@ -0,0 +1,901 @@
|
|||||||
|
{
|
||||||
|
"name": "OMIS-SETUP",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"devDependencies": {
|
||||||
|
"@popperjs/core": "^2.11.6",
|
||||||
|
"axios": "^1.1.2",
|
||||||
|
"bootstrap": "^5.2.3",
|
||||||
|
"laravel-vite-plugin": "^0.7.2",
|
||||||
|
"sass": "^1.56.1",
|
||||||
|
"vite": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/android-arm": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/android-arm64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/android-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/darwin-arm64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/darwin-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/freebsd-arm64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"freebsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/freebsd-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"freebsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-arm": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-arm64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-ia32": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
|
||||||
|
"cpu": [
|
||||||
|
"ia32"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-loong64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
|
||||||
|
"cpu": [
|
||||||
|
"loong64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-mips64el": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
|
||||||
|
"cpu": [
|
||||||
|
"mips64el"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-ppc64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
|
||||||
|
"cpu": [
|
||||||
|
"ppc64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-riscv64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
|
||||||
|
"cpu": [
|
||||||
|
"riscv64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-s390x": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
|
||||||
|
"cpu": [
|
||||||
|
"s390x"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/linux-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/netbsd-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"netbsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/openbsd-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"openbsd"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/sunos-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"sunos"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/win32-arm64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/win32-ia32": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
|
||||||
|
"cpu": [
|
||||||
|
"ia32"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@esbuild/win32-x64": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@popperjs/core": {
|
||||||
|
"version": "2.11.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
|
||||||
|
"integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/popperjs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/anymatch": {
|
||||||
|
"version": "3.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
||||||
|
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"normalize-path": "^3.0.0",
|
||||||
|
"picomatch": "^2.0.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/axios": {
|
||||||
|
"version": "1.6.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
|
||||||
|
"integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"follow-redirects": "^1.15.6",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"proxy-from-env": "^1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/binary-extensions": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/bootstrap": {
|
||||||
|
"version": "5.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
|
||||||
|
"integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/twbs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/bootstrap"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"peerDependencies": {
|
||||||
|
"@popperjs/core": "^2.11.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/braces": {
|
||||||
|
"version": "3.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||||
|
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"fill-range": "^7.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/chokidar": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"anymatch": "~3.1.2",
|
||||||
|
"braces": "~3.0.2",
|
||||||
|
"glob-parent": "~5.1.2",
|
||||||
|
"is-binary-path": "~2.1.0",
|
||||||
|
"is-glob": "~4.0.1",
|
||||||
|
"normalize-path": "~3.0.0",
|
||||||
|
"readdirp": "~3.6.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 8.10.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://paulmillr.com/funding/"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"fsevents": "~2.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/esbuild": {
|
||||||
|
"version": "0.18.20",
|
||||||
|
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
|
||||||
|
"integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"bin": {
|
||||||
|
"esbuild": "bin/esbuild"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@esbuild/android-arm": "0.18.20",
|
||||||
|
"@esbuild/android-arm64": "0.18.20",
|
||||||
|
"@esbuild/android-x64": "0.18.20",
|
||||||
|
"@esbuild/darwin-arm64": "0.18.20",
|
||||||
|
"@esbuild/darwin-x64": "0.18.20",
|
||||||
|
"@esbuild/freebsd-arm64": "0.18.20",
|
||||||
|
"@esbuild/freebsd-x64": "0.18.20",
|
||||||
|
"@esbuild/linux-arm": "0.18.20",
|
||||||
|
"@esbuild/linux-arm64": "0.18.20",
|
||||||
|
"@esbuild/linux-ia32": "0.18.20",
|
||||||
|
"@esbuild/linux-loong64": "0.18.20",
|
||||||
|
"@esbuild/linux-mips64el": "0.18.20",
|
||||||
|
"@esbuild/linux-ppc64": "0.18.20",
|
||||||
|
"@esbuild/linux-riscv64": "0.18.20",
|
||||||
|
"@esbuild/linux-s390x": "0.18.20",
|
||||||
|
"@esbuild/linux-x64": "0.18.20",
|
||||||
|
"@esbuild/netbsd-x64": "0.18.20",
|
||||||
|
"@esbuild/openbsd-x64": "0.18.20",
|
||||||
|
"@esbuild/sunos-x64": "0.18.20",
|
||||||
|
"@esbuild/win32-arm64": "0.18.20",
|
||||||
|
"@esbuild/win32-ia32": "0.18.20",
|
||||||
|
"@esbuild/win32-x64": "0.18.20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/fill-range": {
|
||||||
|
"version": "7.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||||
|
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"to-regex-range": "^5.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/follow-redirects": {
|
||||||
|
"version": "1.15.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
|
||||||
|
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "individual",
|
||||||
|
"url": "https://github.com/sponsors/RubenVerborgh"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"debug": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/form-data": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/fsevents": {
|
||||||
|
"version": "2.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
||||||
|
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/glob-parent": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-glob": "^4.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/immutable": {
|
||||||
|
"version": "4.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz",
|
||||||
|
"integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/is-binary-path": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"binary-extensions": "^2.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-extglob": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-glob": {
|
||||||
|
"version": "4.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
|
||||||
|
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-extglob": "^2.1.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/is-number": {
|
||||||
|
"version": "7.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
|
||||||
|
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.12.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/laravel-vite-plugin": {
|
||||||
|
"version": "0.7.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-0.7.8.tgz",
|
||||||
|
"integrity": "sha512-HWYqpQYHR3kEQ1LsHX7gHJoNNf0bz5z5mDaHBLzS+PGLCTmYqlU5/SZyeEgObV7z7bC/cnStYcY9H1DI1D5Udg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"vite-plugin-full-reload": "^1.0.5"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vite": "^3.0.0 || ^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mime-db": {
|
||||||
|
"version": "1.52.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mime-types": {
|
||||||
|
"version": "2.1.35",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"mime-db": "1.52.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/nanoid": {
|
||||||
|
"version": "3.3.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
||||||
|
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/ai"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bin": {
|
||||||
|
"nanoid": "bin/nanoid.cjs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/normalize-path": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/picomatch": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.6"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/jonschlinkert"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/postcss": {
|
||||||
|
"version": "8.4.38",
|
||||||
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
|
||||||
|
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/postcss/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/ai"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"nanoid": "^3.3.7",
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"source-map-js": "^1.2.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^10 || ^12 || >=14"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/proxy-from-env": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"node_modules/readdirp": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"picomatch": "^2.2.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/rollup": {
|
||||||
|
"version": "3.29.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
|
||||||
|
"integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"rollup": "dist/bin/rollup"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.18.0",
|
||||||
|
"npm": ">=8.0.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"fsevents": "~2.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/sass": {
|
||||||
|
"version": "1.74.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.74.1.tgz",
|
||||||
|
"integrity": "sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
|
"immutable": "^4.0.0",
|
||||||
|
"source-map-js": ">=0.6.2 <2.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"sass": "sass.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=14.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/source-map-js": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/to-regex-range": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-number": "^7.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=8.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/vite": {
|
||||||
|
"version": "4.5.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
|
||||||
|
"integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"esbuild": "^0.18.10",
|
||||||
|
"postcss": "^8.4.27",
|
||||||
|
"rollup": "^3.27.1"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"vite": "bin/vite.js"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^14.18.0 || >=16.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/vitejs/vite?sponsor=1"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"fsevents": "~2.3.2"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/node": ">= 14",
|
||||||
|
"less": "*",
|
||||||
|
"lightningcss": "^1.21.0",
|
||||||
|
"sass": "*",
|
||||||
|
"stylus": "*",
|
||||||
|
"sugarss": "*",
|
||||||
|
"terser": "^5.4.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@types/node": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"less": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"lightningcss": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"sass": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"stylus": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"sugarss": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"terser": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/vite-plugin-full-reload": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-3cObNDzX6DdfhD9E7kf6w2mNunFpD7drxyNgHLw+XwIYAgb+Xt16SEXo0Up4VH+TMf3n+DSVJZtW2POBGcBYAA==",
|
||||||
|
"dev": true,
|
||||||
|
"dependencies": {
|
||||||
|
"picocolors": "^1.0.0",
|
||||||
|
"picomatch": "^2.3.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
package.json
Normal file
15
package.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite",
|
||||||
|
"build": "vite build"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@popperjs/core": "^2.11.6",
|
||||||
|
"axios": "^1.1.2",
|
||||||
|
"bootstrap": "^5.2.3",
|
||||||
|
"laravel-vite-plugin": "^0.7.2",
|
||||||
|
"sass": "^1.56.1",
|
||||||
|
"vite": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
31
phpunit.xml
Normal file
31
phpunit.xml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:noNamespaceSchemaLocation="./vendor/phpunit/phpunit/phpunit.xsd"
|
||||||
|
bootstrap="vendor/autoload.php"
|
||||||
|
colors="true"
|
||||||
|
>
|
||||||
|
<testsuites>
|
||||||
|
<testsuite name="Unit">
|
||||||
|
<directory suffix="Test.php">./tests/Unit</directory>
|
||||||
|
</testsuite>
|
||||||
|
<testsuite name="Feature">
|
||||||
|
<directory suffix="Test.php">./tests/Feature</directory>
|
||||||
|
</testsuite>
|
||||||
|
</testsuites>
|
||||||
|
<coverage>
|
||||||
|
<include>
|
||||||
|
<directory suffix=".php">./app</directory>
|
||||||
|
</include>
|
||||||
|
</coverage>
|
||||||
|
<php>
|
||||||
|
<env name="APP_ENV" value="testing"/>
|
||||||
|
<env name="BCRYPT_ROUNDS" value="4"/>
|
||||||
|
<env name="CACHE_DRIVER" value="array"/>
|
||||||
|
<!-- <env name="DB_CONNECTION" value="sqlite"/> -->
|
||||||
|
<!-- <env name="DB_DATABASE" value=":memory:"/> -->
|
||||||
|
<env name="MAIL_MAILER" value="array"/>
|
||||||
|
<env name="QUEUE_CONNECTION" value="sync"/>
|
||||||
|
<env name="SESSION_DRIVER" value="array"/>
|
||||||
|
<env name="TELESCOPE_ENABLED" value="false"/>
|
||||||
|
</php>
|
||||||
|
</phpunit>
|
21
public/.htaccess
Normal file
21
public/.htaccess
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
<IfModule mod_negotiation.c>
|
||||||
|
Options -MultiViews -Indexes
|
||||||
|
</IfModule>
|
||||||
|
|
||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
# Handle Authorization Header
|
||||||
|
RewriteCond %{HTTP:Authorization} .
|
||||||
|
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
||||||
|
|
||||||
|
# Redirect Trailing Slashes If Not A Folder...
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteCond %{REQUEST_URI} (.+)/$
|
||||||
|
RewriteRule ^ %1 [L,R=301]
|
||||||
|
|
||||||
|
# Send Requests To Front Controller...
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteRule ^ index.php [L]
|
||||||
|
</IfModule>
|
8
public/assets/css/app.min.css
vendored
Normal file
8
public/assets/css/app.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
6
public/assets/css/bootstrap.min.css
vendored
Normal file
6
public/assets/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2
public/assets/css/custom.min.css
vendored
Normal file
2
public/assets/css/custom.min.css
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
/*# sourceMappingURL=custom.min.css.map */
|
2
public/assets/css/icons.min.css
vendored
Normal file
2
public/assets/css/icons.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/assets/css/nepaliDatePicker.min.css
vendored
Normal file
1
public/assets/css/nepaliDatePicker.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
233
public/assets/css/toastr.css
Normal file
233
public/assets/css/toastr.css
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
/*
|
||||||
|
* Note that this is toastr v2.1.3, the "latest" version in url has no more maintenance,
|
||||||
|
* please go to https://cdnjs.com/libraries/toastr.js and pick a certain version you want to use,
|
||||||
|
* make sure you copy the url from the website since the url may change between versions.
|
||||||
|
* */
|
||||||
|
.toast-title {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.toast-message {
|
||||||
|
-ms-word-wrap: break-word;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
.toast-message a,
|
||||||
|
.toast-message label {
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
.toast-message a:hover {
|
||||||
|
color: #CCCCCC;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
.toast-close-button {
|
||||||
|
position: relative;
|
||||||
|
right: -0.3em;
|
||||||
|
top: -0.3em;
|
||||||
|
float: right;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #FFFFFF;
|
||||||
|
-webkit-text-shadow: 0 1px 0 #ffffff;
|
||||||
|
text-shadow: 0 1px 0 #ffffff;
|
||||||
|
opacity: 0.8;
|
||||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||||
|
filter: alpha(opacity=80);
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.toast-close-button:hover,
|
||||||
|
.toast-close-button:focus {
|
||||||
|
color: #000000;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
opacity: 0.4;
|
||||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||||
|
filter: alpha(opacity=40);
|
||||||
|
}
|
||||||
|
.rtl .toast-close-button {
|
||||||
|
left: -0.3em;
|
||||||
|
float: left;
|
||||||
|
right: 0.3em;
|
||||||
|
}
|
||||||
|
/*Additional properties for button version
|
||||||
|
iOS requires the button element instead of an anchor tag.
|
||||||
|
If you want the anchor version, it requires `href="#"`.*/
|
||||||
|
button.toast-close-button {
|
||||||
|
padding: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
background: transparent;
|
||||||
|
border: 0;
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
.toast-top-center {
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.toast-bottom-center {
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.toast-top-full-width {
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.toast-bottom-full-width {
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.toast-top-left {
|
||||||
|
top: 12px;
|
||||||
|
left: 12px;
|
||||||
|
}
|
||||||
|
.toast-top-right {
|
||||||
|
top: 12px;
|
||||||
|
right: 12px;
|
||||||
|
}
|
||||||
|
.toast-bottom-right {
|
||||||
|
right: 12px;
|
||||||
|
bottom: 12px;
|
||||||
|
}
|
||||||
|
.toast-bottom-left {
|
||||||
|
bottom: 12px;
|
||||||
|
left: 12px;
|
||||||
|
}
|
||||||
|
#toast-container {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 999999;
|
||||||
|
pointer-events: none;
|
||||||
|
/*overrides*/
|
||||||
|
}
|
||||||
|
#toast-container * {
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
#toast-container > div {
|
||||||
|
position: relative;
|
||||||
|
pointer-events: auto;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 0 0 6px;
|
||||||
|
padding: 15px 15px 15px 50px;
|
||||||
|
width: 300px;
|
||||||
|
-moz-border-radius: 3px 3px 3px 3px;
|
||||||
|
-webkit-border-radius: 3px 3px 3px 3px;
|
||||||
|
border-radius: 3px 3px 3px 3px;
|
||||||
|
background-position: 15px center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
-moz-box-shadow: 0 0 12px #999999;
|
||||||
|
-webkit-box-shadow: 0 0 12px #999999;
|
||||||
|
box-shadow: 0 0 12px #999999;
|
||||||
|
color: #FFFFFF;
|
||||||
|
opacity: 0.8;
|
||||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
|
||||||
|
filter: alpha(opacity=80);
|
||||||
|
}
|
||||||
|
#toast-container > div.rtl {
|
||||||
|
direction: rtl;
|
||||||
|
padding: 15px 50px 15px 15px;
|
||||||
|
background-position: right 15px center;
|
||||||
|
}
|
||||||
|
#toast-container > div:hover {
|
||||||
|
-moz-box-shadow: 0 0 12px #000000;
|
||||||
|
-webkit-box-shadow: 0 0 12px #000000;
|
||||||
|
box-shadow: 0 0 12px #000000;
|
||||||
|
opacity: 1;
|
||||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
|
||||||
|
filter: alpha(opacity=100);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
#toast-container > .toast-info {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
|
||||||
|
}
|
||||||
|
#toast-container > .toast-error {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
|
||||||
|
}
|
||||||
|
#toast-container > .toast-success {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
|
||||||
|
}
|
||||||
|
#toast-container > .toast-warning {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
|
||||||
|
}
|
||||||
|
#toast-container.toast-top-center > div,
|
||||||
|
#toast-container.toast-bottom-center > div {
|
||||||
|
width: 300px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
#toast-container.toast-top-full-width > div,
|
||||||
|
#toast-container.toast-bottom-full-width > div {
|
||||||
|
width: 96%;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
.toast {
|
||||||
|
background-color: #030303;
|
||||||
|
}
|
||||||
|
.toast-success {
|
||||||
|
background-color: #51A351;
|
||||||
|
}
|
||||||
|
.toast-error {
|
||||||
|
background-color: #BD362F;
|
||||||
|
}
|
||||||
|
.toast-info {
|
||||||
|
background-color: #2F96B4;
|
||||||
|
}
|
||||||
|
.toast-warning {
|
||||||
|
background-color: #F89406;
|
||||||
|
}
|
||||||
|
.toast-progress {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
height: 4px;
|
||||||
|
background-color: #000000;
|
||||||
|
opacity: 0.4;
|
||||||
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
|
||||||
|
filter: alpha(opacity=40);
|
||||||
|
}
|
||||||
|
/*Responsive Design*/
|
||||||
|
@media all and (max-width: 240px) {
|
||||||
|
#toast-container > div {
|
||||||
|
padding: 8px 8px 8px 50px;
|
||||||
|
width: 11em;
|
||||||
|
}
|
||||||
|
#toast-container > div.rtl {
|
||||||
|
padding: 8px 50px 8px 8px;
|
||||||
|
}
|
||||||
|
#toast-container .toast-close-button {
|
||||||
|
right: -0.2em;
|
||||||
|
top: -0.2em;
|
||||||
|
}
|
||||||
|
#toast-container .rtl .toast-close-button {
|
||||||
|
left: -0.2em;
|
||||||
|
right: 0.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media all and (min-width: 241px) and (max-width: 480px) {
|
||||||
|
#toast-container > div {
|
||||||
|
padding: 8px 8px 8px 50px;
|
||||||
|
width: 18em;
|
||||||
|
}
|
||||||
|
#toast-container > div.rtl {
|
||||||
|
padding: 8px 50px 8px 8px;
|
||||||
|
}
|
||||||
|
#toast-container .toast-close-button {
|
||||||
|
right: -0.2em;
|
||||||
|
top: -0.2em;
|
||||||
|
}
|
||||||
|
#toast-container .rtl .toast-close-button {
|
||||||
|
left: -0.2em;
|
||||||
|
right: 0.2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media all and (min-width: 481px) and (max-width: 768px) {
|
||||||
|
#toast-container > div {
|
||||||
|
padding: 15px 15px 15px 50px;
|
||||||
|
width: 25em;
|
||||||
|
}
|
||||||
|
#toast-container > div.rtl {
|
||||||
|
padding: 15px 50px 15px 15px;
|
||||||
|
}
|
||||||
|
}
|
1
public/assets/css/toastr.min.css
vendored
Normal file
1
public/assets/css/toastr.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
public/assets/fonts/boxicons.eot
Normal file
BIN
public/assets/fonts/boxicons.eot
Normal file
Binary file not shown.
BIN
public/assets/fonts/boxicons.ttf
Normal file
BIN
public/assets/fonts/boxicons.ttf
Normal file
Binary file not shown.
BIN
public/assets/fonts/boxicons.woff
Normal file
BIN
public/assets/fonts/boxicons.woff
Normal file
Binary file not shown.
BIN
public/assets/fonts/boxicons.woff2
Normal file
BIN
public/assets/fonts/boxicons.woff2
Normal file
Binary file not shown.
1660
public/assets/fonts/boxiconsd41d.svg
Normal file
1660
public/assets/fonts/boxiconsd41d.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 1.2 MiB |
BIN
public/assets/fonts/hkgrotesk-regular.woff
Normal file
BIN
public/assets/fonts/hkgrotesk-regular.woff
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-brands-400.eot
Normal file
BIN
public/assets/fonts/la-brands-400.eot
Normal file
Binary file not shown.
1313
public/assets/fonts/la-brands-400.svg
Normal file
1313
public/assets/fonts/la-brands-400.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 906 KiB |
BIN
public/assets/fonts/la-brands-400.ttf
Normal file
BIN
public/assets/fonts/la-brands-400.ttf
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-brands-400.woff
Normal file
BIN
public/assets/fonts/la-brands-400.woff
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-brands-400.woff2
Normal file
BIN
public/assets/fonts/la-brands-400.woff2
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-brands-400d41d.eot
Normal file
BIN
public/assets/fonts/la-brands-400d41d.eot
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-regular-400.eot
Normal file
BIN
public/assets/fonts/la-regular-400.eot
Normal file
Binary file not shown.
467
public/assets/fonts/la-regular-400.svg
Normal file
467
public/assets/fonts/la-regular-400.svg
Normal file
@ -0,0 +1,467 @@
|
|||||||
|
<?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>Created by Icons8</metadata>
|
||||||
|
<defs>
|
||||||
|
<font id="la-regular-400" horiz-adv-x="1024">
|
||||||
|
<font-face font-family="la-regular-400"
|
||||||
|
units-per-em="1024" ascent="896"
|
||||||
|
descent="128"
|
||||||
|
font-weight="400" />
|
||||||
|
<missing-glyph horiz-adv-x="0" />
|
||||||
|
<glyph glyph-name="building"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M128 800L128 -32L480 -32L480 96L544 96L544 -32L896 -32L896 800zM192 736L832 736L832 32L608 32L608 160L416 160L416 32L192 32zM256 672L256 608L384 608L384 672zM448 672L448 608L576 608L576 672zM640 672L640 608L768 608L768 672zM256 544L256 480L384 480L384 544zM448 544L448 480L576 480L576 544zM640 544L640 480L768 480L768 544zM256 416L256 352L384 352L384 416zM448 416L448 352L576 352L576 416zM640 416L640 352L768 352L768 416zM256 288L256 224L384 224L384 288zM448 288L448 224L576 224L576 288zM640 288L640 224L768 224L768 288zM256 160L256 96L384 96L384 160zM640 160L640 96L768 96L768 160z" />
|
||||||
|
<glyph glyph-name="map"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M896 753L851 733L639 642L395 734L383 738L371 733L147 637L128 629L128 15L173 35L385 126L629 34L641 30L653 35L877 131L896 139zM416 658L608 586L608 110L416 182zM352 656L352 181L192 112L192 587zM832 656L832 181L672 112L672 587z" />
|
||||||
|
<glyph glyph-name="neutral-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM368 512C341.5 512 320 490.5 320 464C320 437.5 341.5 416 368 416C394.5 416 416 437.5 416 464C416 490.5 394.5 512 368 512zM656 512C629.5 512 608 490.5 608 464C608 437.5 629.5 416 656 416C682.5 416 704 437.5 704 464C704 490.5 682.5 512 656 512zM352 256L352 192L672 192L672 256z" />
|
||||||
|
<glyph glyph-name="eye-slash"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M119 823L73 777L272 579L627 224L688 162L905 -55L951 -9L752 190C887.5 257.124992 978.375008 356.7499840000001 984 363L1003 384L984 405C975.375008 414.624992 770.750016 640 512 640C449.375008 640 390.250016 626.249984 336 606zM512 576C580.875008 576 646 556.624992 704 530C724.624992 495.5 736 456.5 736 416C736 357.875008 713.5 304.7499840000001 677 265L586 356C599.375008 372.375008 608 393.124992 608 416C608 469 565 512 512 512C489.124992 512 468.375008 503.375008 452 490L387 555C426.750016 567.249984 468.375008 576 512 576zM214 547C111.375008 483.875008 44.750016 410.375008 40 405L21 384L40 363C48.250016 353.7499840000001 237.750016 146.375008 482 130C491.875008 129 501.875008 128 512 128C522.124992 128 532.124992 129 542 130C568.375008 131.7499840000001 594.124992 135.2499840000001 619 141L562 198C545.750016 194.2499840000001 529.250016 192 512 192C388.5 192 288 292.5 288 416C288 433 290.250016 449.624992 294 466zM232 482C226.875008 460.375008 224 438.375008 224 416C224 360.375008 239.624992 309.124992 267 265C193.750016 307 137.750016 356.2499840000001 109 384C132.875008 407.124992 175.875008 445.5 232 482zM792 482C848.124992 445.5 891 407.124992 915 384C886.250016 356.2499840000001 829.375008 306 756 264C783.5 308.124992 800 360.375008 800 416C800 438.375008 797.124992 460.5 792 482z" />
|
||||||
|
<glyph glyph-name="caret-square-up"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM512 541L489 519L297 327L343 281L512 450L681 281L727 327L535 519z" />
|
||||||
|
<glyph glyph-name="copy"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M128 768L128 128L352 128L352 192L192 192L192 704L576 704L576 672L640 672L640 768zM384 640L384 0L896 0L896 640zM448 576L832 576L832 64L448 64z" />
|
||||||
|
<glyph glyph-name="dot-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM512 480C459 480 416 437 416 384C416 331 459 288 512 288C565 288 608 331 608 384C608 437 565 480 512 480z" />
|
||||||
|
<glyph glyph-name="grinning-face-with-big-eyes"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM656 512A48 48 0 0 1 656 416A48 48 0 0 1 656 512zM288 288C288 288 339.36 128 512 128C684.64 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="save"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 589L855 599L727 727L717 736zM224 672L320 672L320 480L704 480L704 658L800 562L800 96L736 96L736 384L288 384L288 96L224 96zM384 672L512 672L512 608L576 608L576 672L640 672L640 544L384 544zM352 320L672 320L672 96L352 96z" />
|
||||||
|
<glyph glyph-name="face-with-tears-of-joy"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C283.84 800 98.1395008 615.3064992 96.1875008 387.562496C114.5555008 394.922496 136.2884992 402.327488 161.3124992 409.687488C174.5284992 591.7995008 326.56 736 512 736C697.44 736 849.471488 591.7995008 862.687488 409.687488C887.711488 402.327488 909.444512 394.922496 927.812512 387.562496C925.860512 615.3064992 740.16 800 512 800zM288 448L288 384L448 384L448 448L288 448zM576 448L576 384L736 384L736 448L576 448zM192 352C192 352 96.9729984 325.285504 78.1249984 306.437504C59.2770016 287.5895040000001 59.2770016 256.972992 78.1249984 238.124992C96.9729984 219.276992 127.5895008 219.276992 146.4375008 238.124992C165.2855008 256.972992 192 352 192 352zM832 352C832 352 858.714496 256.972992 877.562496 238.124992C896.410496 219.276992 927.027008 219.276992 945.875008 238.124992C964.723008 256.972992 964.723008 287.5895040000001 945.875008 306.437504C927.027008 325.285504 832 352 832 352zM288 288C288 288 339.52 128 512 128C684.48 128 736 288 736 288L288 288zM205.6875008 211.187488C201.0155008 203.731488 196.2955008 197.4830080000001 191.6875008 192.875008C181.4155008 182.6030080000001 169.46 174.692992 156.5 169.124992C229.492 48.804992 361.312 -32 512 -32C662.688 -32 794.508 48.804992 867.5 169.124992C854.54 174.692992 842.584512 182.571008 832.312512 192.875008C827.672512 197.515008 822.984512 203.7634880000001 818.312512 211.187488C757.800512 104.371488 643.296 32 512 32C380.704 32 266.1995008 104.371488 205.6875008 211.187488z" />
|
||||||
|
<glyph glyph-name="star-half"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 827.749984L378.750016 528.875008L53.250016 494.5L296.375008 275.375008L228.5 -44.750016L512 118.7499840000001z" />
|
||||||
|
<glyph glyph-name="smiling-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM368 512C341.5 512 320 490.5 320 464C320 437.5 341.5 416 368 416C394.5 416 416 437.5 416 464C416 490.5 394.5 512 368 512zM656 512C629.5 512 608 490.5 608 464C608 437.5 629.5 416 656 416C682.5 416 704 437.5 704 464C704 490.5 682.5 512 656 512zM346 288L291 256C335.250016 179.624992 417.5 128 512 128C606.5 128 688.750016 179.624992 733 256L678 288C644.750016 230.624992 583.250016 192 512 192C440.750016 192 379.250016 230.624992 346 288z" />
|
||||||
|
<glyph glyph-name="grinning-face-with-smiling-eyes"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM352 512C284.992 512 236.5 473.375008 236.5 473.375008L275.5 422.624992C275.5 422.624992 310.1744992 448 352.062496 448C393.950496 448 428.562496 422.624992 428.562496 422.624992L467.562496 473.375008C467.498496 473.375008 419.008 512 352 512zM672 512C604.992 512 556.5 473.375008 556.5 473.375008L595.5 422.624992C595.5 422.624992 630.174496 448 672.062496 448C713.950496 448 748.562496 422.624992 748.562496 422.624992L787.562496 473.375008C787.498496 473.375008 739.008 512 672 512zM288 288C288 288 339.36 128 512 128C684.64 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="audio-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 800zM256 736L768 736L768 32L256 32zM512 585L512 378C501.875008 381.624992 491.250016 384 480 384C427.375008 384 384 340.624992 384 288C384 235.375008 427.375008 192 480 192C532.624992 192 576 235.375008 576 288L576 503L664 481L680 543zM480 320C498 320 512 306 512 288C512 270 498 256 480 256C462 256 448 270 448 288C448 306 462 320 480 320z" />
|
||||||
|
<glyph glyph-name="window-maximize"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM288 576L288 192L736 192L736 576zM352 512L672 512L672 448L352 448zM352 384L672 384L672 256L352 256z" />
|
||||||
|
<glyph glyph-name="loudly-crying-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM384 576C344.375008 576 314.250016 553.875008 294 535C273.750016 516.124992 261 498 261 498L315 462C315 462 322.875008 475.875008 337 489C351.124992 502.124992 369.5 512 384 512L480 512L480 576zM544 576L544 512L640 512C654.5 512 672.875008 502.124992 687 489C701.124992 475.875008 709 462 709 462L763 498C763 498 750.250016 516.124992 730 535C709.750016 553.875008 679.624992 576 640 576zM272 448C272 448 224 362.5 224 336C224 309.5 245.5 288 272 288C298.5 288 320 309.5 320 336C320 362.5 272 448 272 448zM512 384C437.250016 384 386.124992 344.5 358 307C329.875008 269.5 321 232 321 232L311 192L713 192L703 232C703 232 694.124992 269.5 666 307C637.875008 344.5 586.750016 384 512 384zM512 320C565.5 320 594.124992 295.5 614 269C618.875008 262.375008 617.624992 262.124992 621 256L403 256C406.375008 262.124992 405.124992 262.375008 410 269C429.875008 295.5 458.5 320 512 320z" />
|
||||||
|
<glyph glyph-name="sticky-note"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L653 32L663 41L855 233L864 243L864 736zM224 672L800 672L800 288L608 288L608 96L224 96zM672 224L754 224L672 142z" />
|
||||||
|
<glyph glyph-name="angry-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM342 512C328.5 498.375008 320 479.749984 320 459C320 417.624992 353.624992 384 395 384C415.624992 384 434.5 392.375008 448 406zM682 512L576 406C589.5 392.375008 608.375008 384 629 384C670.375008 384 704 417.624992 704 459C704 479.624992 695.624992 498.5 682 512zM594 325C589.375008 324.875008 584.5 324.624992 580 324C544.124992 318.624992 517 299 493 283C469 267 447.875008 254.5 432 252C416.124992 249.5 401.875008 252 375 279L329 233C365.250016 196.5 406.5 183.375008 442 189C477.5 194.624992 504.124992 214.124992 528 230C551.875008 245.875008 572.375008 257.5 589 260C605.624992 262.5 622 260.375008 650 233L694 279C661.250016 311 626.375008 325.5 594 325z" />
|
||||||
|
<glyph glyph-name="window-restore"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM384 608L384 480L288 480L288 160L640 160L640 288L736 288L736 608zM448 544L672 544L672 512L448 512zM448 448L672 448L672 352L448 352zM352 416L384 416L384 383L352 383zM352 319L384 319L384 288L576 288L576 224L352 224z" />
|
||||||
|
<glyph glyph-name="star"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 828L483 762L379 529L125 502L53 494L107 446L296 275L243 25L228 -45L291 -9L512 119L733 -9L796 -45L781 25L728 275L917 446L971 494L899 502L645 529L541 762zM512 671L594 486L602 469L620 467L821 446L671 311L657 298L661 280L703 83L528 183L512 193L496 183L321 83L363 280L367 298L353 311L203 446L404 467L422 469L430 486z" />
|
||||||
|
<glyph glyph-name="address-card"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M96 704L96 64L928 64L928 704zM160 640L864 640L864 128L755 128C752.5 132.375008 753.624992 138.375008 750 142C737.875008 154.124992 720.750016 160 704 160C687.250016 160 670.124992 154.124992 658 142C654.375008 138.375008 655.5 132.375008 653 128L371 128C368.5 132.375008 369.624992 138.375008 366 142C353.875008 154.124992 336.750016 160 320 160C303.250016 160 286.124992 154.124992 274 142C270.375008 138.375008 271.5 132.375008 269 128L160 128zM384 576C313.624992 576 256 518.375008 256 448C256 412.375008 271.250016 380.2499840000001 295 357C252.375008 328.124992 224 278.875008 224 224L288 224C288 277 331 320 384 320C437 320 480 277 480 224L544 224C544 278.875008 515.624992 328.124992 473 357C496.750016 380.2499840000001 512 412.375008 512 448C512 518.375008 454.375008 576 384 576zM384 512C419.750016 512 448 483.749984 448 448C448 412.249984 419.750016 384 384 384C348.250016 384 320 412.249984 320 448C320 483.749984 348.250016 512 384 512zM608 480L608 416L800 416L800 480zM608 352L608 288L800 288L800 352z" />
|
||||||
|
<glyph glyph-name="comment"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M96 704L96 64L402.750016 64L512 -45.250016L621.250016 64L928 64L928 704zM160 640L864 640L864 128L594.750016 128L512 45.249984L429.250016 128L160 128zM288 544L288 480L736 480L736 544zM288 416L288 352L736 352L736 416zM288 288L288 224L608 224L608 288z" />
|
||||||
|
<glyph glyph-name="object-ungroup"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 608L192 608L192 288L160 288L160 160L288 160L288 192L352 192L352 128L320 128L320 0L448 0L448 32L768 32L768 0L896 0L896 128L864 128L864 448L896 448L896 576L768 576L768 544L704 544L704 608L736 608L736 736L608 736L608 704L288 704L288 736zM288 640L608 640L608 608L640 608L640 288L608 288L608 256L288 256L288 288L256 288L256 608L288 608zM704 480L768 480L768 448L800 448L800 128L768 128L768 96L448 96L448 128L416 128L416 192L608 192L608 160L736 160L736 288L704 288z" />
|
||||||
|
<glyph glyph-name="winking-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM368 512C341.5 512 320 490.5 320 464C320 437.5 341.5 416 368 416C394.5 416 416 437.5 416 464C416 490.5 394.5 512 368 512zM576 480L576 416L736 416L736 480zM671 351C671 297.124992 649.375008 259.7499840000001 618 233C586.624992 206.2499840000001 545.124992 192 512 192C444.124992 192 398 219.5 362 255L317 209C361.624992 165.124992 426.250016 128 512 128C561.750016 128 616.375008 146.7499840000001 660 184C703.624992 221.2499840000001 735 278.7499840000001 735 351z" />
|
||||||
|
<glyph glyph-name="window-close"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM374 566L329 521L466 384L327 245L372 200L511 339L649 201L694 246L556 384L692 520L647 565L511 429z" />
|
||||||
|
<glyph glyph-name="video-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 589L823 599L631 791L621 800zM256 736L576 736L576 544L768 544L768 32L256 32zM640 690L722 608L640 608zM416 473L416 167L464 197L624 293L670 320L624 347L464 443zM480 360L547 320L480 280z" />
|
||||||
|
<glyph glyph-name="hushed-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM368 544C341.5 544 320 508.124992 320 464C320 419.875008 341.5 384 368 384C394.5 384 416 419.875008 416 464C416 508.124992 394.5 544 368 544zM656 544C629.5 544 608 508.124992 608 464C608 419.875008 629.5 384 656 384C682.5 384 704 419.875008 704 464C704 508.124992 682.5 544 656 544zM512 352C438.624992 352 384 292.624992 384 224C384 192.375008 395.375008 160.875008 421 145C446.624992 129.124992 475 128 512 128C549 128 577.375008 129.124992 603 145C628.624992 160.875008 640 192.375008 640 224C640 292.624992 585.375008 352 512 352zM512 288C553.375008 288 576 261.5 576 224C576 202.624992 574.750016 201.875008 570 199C565.250016 196.124992 545.750016 192 512 192C478.250016 192 458.750016 196.124992 454 199C449.250016 201.875008 448 202.624992 448 224C448 261.5 470.624992 288 512 288z" />
|
||||||
|
<glyph glyph-name="envelope"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M96 640L96 64L928 64L928 640zM234 576L790 576L512 391zM160 548L494 325L512 314L530 325L864 548L864 128L160 128z" />
|
||||||
|
<glyph glyph-name="face-with-tongue"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM656 512A48 48 0 0 1 656 416A48 48 0 0 1 656 512zM376.5 340.562496L327.437504 299.437504C355.494176 266.009728 398.443392 242.3571520000001 448 231.2499840000001L448 192C448 156.8 476.8 128 512 128C547.2 128 576 156.8 576 192L576 231.2499840000001C625.554688 242.359072 668.465984 265.98704 696.5 299.437504L647.437504 340.562496C620.301504 308.1144960000001 568.416 288 512 288C455.584 288 403.668 308.146496 376.5 340.562496z" />
|
||||||
|
<glyph glyph-name="caret-square-down"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM343 487L297 441L489 249L512 227L535 249L727 441L681 487L512 318z" />
|
||||||
|
<glyph glyph-name="pause-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM384 544L384 224L448 224L448 544zM576 544L576 224L640 224L640 544z" />
|
||||||
|
<glyph glyph-name="folder-open"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 800L160 6L185 1L569 -79L608 -87L608 0L800 0L800 402L855 457L864 467L864 800zM452 736L800 736L800 494L745 439L736 429L736 64L608 64L608 349L599 359L544 414L544 713zM224 727L480 663L480 387L489 377L544 322L544 -9L224 58z" />
|
||||||
|
<glyph glyph-name="folder"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 402L887 457L896 467L896 800zM256 736L704 736L704 467L713 457L768 402L768 32L256 32zM768 736L832 736L832 494L800 462L768 494z" />
|
||||||
|
<glyph glyph-name="flag"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 -32L224 -32L224 288L480 288L480 192L864 192L864 640L544 640L544 736zM224 672L480 672L480 352L224 352zM544 576L800 576L800 256L544 256z" />
|
||||||
|
<glyph glyph-name="hand-pointing-right"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M470 800L460 791L243 576L64 576L64 64L603 64C648.124992 64 687.5 95.875008 697 140L750 384L864 384C916.624992 384 960 427.375008 960 480C960 532.624992 916.624992 576 864 576L520 576L526 600C532.5 605 536.624992 607.124992 546 620C561 640.5 576 672.249984 576 715C576 760.624992 534.750016 800 483 800zM493 733C506.5 730.375008 512 724.875008 512 715C512 686.124992 503.250016 668.249984 495 657C486.750016 645.749984 481 643 481 643L470 637L466 624L447 552L437 512L864 512C882.124992 512 896 498.124992 896 480C896 461.875008 882.124992 448 864 448L698 448L692 423L635 153C631.750016 138 618.250016 128 603 128L288 128L288 531zM128 512L224 512L224 128L128 128z" />
|
||||||
|
<glyph glyph-name="minus-square"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM352 416L352 352L672 352L672 416z" />
|
||||||
|
<glyph glyph-name="alternate-arrow-circle-down"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM480 608L480 288L384 288L512 160L640 288L544 288L544 608z" />
|
||||||
|
<glyph glyph-name="excel-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 588.8124992L822.375008 598.3750016L630.375008 790.3750016L620.812512 800L192 800zM256 736L576 736L576 544L768 544L768 32L256 32L256 736zM640 691.1875008L723.187488 608L640 608L640 691.1875008zM352 480L473.624992 304L352 128L428.8125120000001 128L512 249.624992L595.187488 128L672 128L550.375008 304L672 480L595.187488 480L512 358.375008L428.8125120000001 480L352 480z" />
|
||||||
|
<glyph glyph-name="caret-square-left"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM569 599L377 407L355 384L377 361L569 169L615 215L446 384L615 553z" />
|
||||||
|
<glyph glyph-name="pointer--hand-"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M416 832C363.375008 832 320 788.624992 320 736L320 358L299 380L291 387C254.124992 423.875008 193.875008 423.875008 157 387C120.124992 350.124992 120.124992 289.875008 157 253L157 252L419 -7L421 -8L422 -10C465.124992 -42.375008 520.124992 -64 582 -64L637 -64C782.124992 -64 899 52.875008 899 198L899 448C899 500.624992 855.624992 544 803 544C789.375008 544 776.750016 540.249984 765 535C754.5 576.624992 716.624992 608 672 608C647.5 608 625 598.375008 608 583C591 598.375008 568.5 608 544 608C532.750016 608 522.124992 605.624992 512 602L512 736C512 788.624992 468.624992 832 416 832zM416 768C433.750016 768 448 753.749984 448 736L448 384L512 384L512 512C512 529.749984 526.250016 544 544 544C561.750016 544 576 529.749984 576 512L576 384L640 384L640 512C640 529.749984 654.250016 544 672 544C689.750016 544 704 529.749984 704 512L704 384L771 384L771 448C771 465.749984 785.250016 480 803 480C820.750016 480 835 465.749984 835 448L835 198C835 87.124992 747.875008 0 637 0L582 0C535.124992 0 494.624992 16.749984 461 42L202 298C187.750016 312.2499840000001 187.750016 327.7499840000001 202 342C216.250016 356.2499840000001 231.750016 356.2499840000001 246 342L384 204L384 736C384 753.749984 398.250016 768 416 768z" />
|
||||||
|
<glyph glyph-name="laugh-face-with-beaming-eyes"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM352 512C284.992 512 236.5 473.375008 236.5 473.375008L275.5 422.624992C275.5 422.624992 310.1744992 448 352.062496 448C393.950496 448 428.562496 422.624992 428.562496 422.624992L467.562496 473.375008C467.498496 473.375008 419.008 512 352 512zM672 512C604.992 512 556.5 473.375008 556.5 473.375008L595.5 422.624992C595.5 422.624992 630.174496 448 672.062496 448C713.950496 448 748.562496 422.624992 748.562496 422.624992L787.562496 473.375008C787.498496 473.375008 739.008 512 672 512zM288 288C288 288 339.36 128 512 128C684.64 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="snowflake"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M480 800L480 686L407 759L361 713L480 594L480 440L348 519L306 682L244 666L270 566L172 625L139 571L239 511L136 485L152 423L316 465L451 384L316 303L152 345L136 283L239 257L139 197L172 143L270 202L244 102L306 86L348 249L480 328L480 174L361 55L407 9L480 82L480 -32L544 -32L544 82L617 9L663 55L544 174L544 328L676 249L718 86L780 102L754 202L852 143L885 197L785 257L888 283L872 345L708 303L573 384L708 465L872 423L888 485L785 511L885 571L852 625L754 566L780 666L718 682L676 519L544 440L544 594L663 713L617 759L544 686L544 800z" />
|
||||||
|
<glyph glyph-name="star-struck"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM384 567.437504L356 504.562496L288 497.124992L338.875008 451.437504L324.562496 384L384 418.249984L443.437504 384L429.124992 451.437504L480 497.124992L412 504.562496L384 567.437504zM640 567.437504L612 504.562496L544 497.124992L594.875008 451.437504L580.562496 384L640 418.249984L699.437504 384L685.124992 451.437504L736 497.124992L668 504.562496L640 567.437504zM345.937504 288L290.8750016 256C296.4350016 246.4400000000001 302.56 237.290624 309.25 228.562496C315.94 219.8343680000001 323.217504 211.542496 330.937504 203.750016C338.657504 195.957504 346.850016 188.628128 355.5 181.875008C372.8 168.368736 391.829984 157.0387520000001 412.249984 148.312512C422.46 143.949376 433.035008 140.2624960000001 443.875008 137.2499840000001C465.555008 131.2249920000001 488.4 128 512 128C582.8 128 646.742496 156.995008 693.062496 203.750016C700.782496 211.542496 708.06 219.8343680000001 714.750016 228.562496C721.44 237.290624 727.564992 246.4400000000001 733.124992 256L678.062496 288C648.942496 237.88 598.270624 201.944384 538.249984 193.750016C529.675616 192.57936 520.92 192 512 192C503.08 192 494.324384 192.57936 485.750016 193.750016C477.175616 194.9206400000001 468.782496 196.6750080000001 460.624992 198.937504C444.310016 203.462496 428.907488 210.0800000000001 414.687488 218.5C407.577504 222.710016 400.729376 227.3718720000001 394.249984 232.437504C381.291264 242.568736 369.696256 254.3562560000001 359.687488 267.437504C354.683136 273.978112 350.097504 280.8400000000001 345.937504 288z" />
|
||||||
|
<glyph glyph-name="stop-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C283.2 800 96 612.8 96 384C96 155.2000000000001 283.2 -32 512 -32C740.8 -32 928 155.2000000000001 928 384C928 612.8 740.8 800 512 800zM512 736C705.6 736 864 577.6 864 384C864 190.4 705.6 32 512 32C318.4 32 160 190.4 160 384C160 577.6 318.4 736 512 736zM352 544L352 464L352 304L352 224L432 224L592 224L672 224L672 304L672 464L672 544L592 544L432 544L352 544zM416 480L608 480L608 288L416 288L416 480z" />
|
||||||
|
<glyph glyph-name="comments"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M64 736L64 224L192 224L192 61L244 103L395 224L704 224L704 736zM128 672L640 672L640 288L373 288L364 281L256 195L256 288L128 288zM768 608L768 544L896 544L896 160L768 160L768 67L651 160L411 160L331 96L629 96L832 -67L832 96L960 96L960 608z" />
|
||||||
|
<glyph glyph-name="closed-captioning"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M64 704L64 131L960 131L960 704zM128 640L896 640L896 195L128 195zM384 576C296 576 224 504 224 416C224 328 296 256 384 256C422.250016 256 456.875008 270.124992 484 292L444 342C427.124992 328.375008 406.624992 320 384 320C330.624992 320 288 362.624992 288 416C288 469.375008 330.624992 512 384 512C406.624992 512 427.124992 503.624992 444 490L484 540C456.875008 561.875008 422.250016 576 384 576zM704 576C616 576 544 504 544 416C544 328 616 256 704 256C742.250016 256 776.875008 270.124992 804 292L764 342C747.124992 328.375008 726.624992 320 704 320C650.624992 320 608 362.624992 608 416C608 469.375008 650.624992 512 704 512C726.624992 512 747.124992 503.624992 764 490L804 540C776.875008 561.875008 742.250016 576 704 576z" />
|
||||||
|
<glyph glyph-name="thumbs-down"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M325 704C279.875008 704 240.5 672.124992 231 628L162 308C149.375008 248.875008 195.624992 192 256 192L440 192L434 168C427.5 163 423.375008 160.875008 414 148C399 127.5 384 95.749984 384 53C384 7.375008 425.250016 -32 477 -32L490 -32L500 -23L717 192L864 192L864 704zM325 640L672 640L672 237L467 35C453.5 37.624992 448 43.124992 448 53C448 81.875008 456.750016 99.749984 465 111C473.250016 122.2499840000001 479 125 479 125L490 131L494 144L513 216L523 256L256 256C234.875008 256 220.624992 274.375008 225 295L293 615C296.250016 630 309.750016 640 325 640zM736 640L800 640L800 256L736 256z" />
|
||||||
|
<glyph glyph-name="grinning-winking-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM368 512C341.5 512 320 490.5 320 464C320 437.5 341.5 416 368 416C394.5 416 416 437.5 416 464C416 490.5 394.5 512 368 512zM576 480L576 416L736 416L736 480zM671 351C671 297.124992 649.375008 259.7499840000001 618 233C586.624992 206.2499840000001 545.124992 192 512 192C444.124992 192 398 219.5 362 255L317 209C361.624992 165.124992 426.250016 128 512 128C561.750016 128 616.375008 146.7499840000001 660 184C703.624992 221.2499840000001 735 278.7499840000001 735 351z" />
|
||||||
|
<glyph glyph-name="images"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M64 736L64 160L192 160L192 32L960 32L960 608L832 608L832 736zM128 672L768 672L768 224L128 224zM192 608L192 288L704 288L704 608zM256 544L640 544L640 352L256 352zM832 544L896 544L896 96L256 96L256 160L832 160z" />
|
||||||
|
<glyph glyph-name="compass"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM479 702C479.375008 702 479.624992 702 480 702L480 672L544 672L544 702C695.624992 687.124992 815.124992 567.624992 830 416L800 416L800 352L830 352C815.124992 200.375008 695.624992 80.875008 544 66L544 96L480 96L480 66C328.375008 80.875008 208.875008 200.375008 194 352L224 352L224 416L194 416C208.875008 567.375008 327.875008 686.749984 479 702zM720 592L453 443L304 176L571 325zM512 432C538.5 432 560 410.5 560 384C560 357.5 538.5 336 512 336C485.5 336 464 357.5 464 384C464 410.5 485.5 432 512 432z" />
|
||||||
|
<glyph glyph-name="code-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 589L823 599L631 791L621 800zM256 736L576 736L576 544L768 544L768 32L256 32zM640 690L722 608L640 608zM512 480L448 96L512 96L576 480zM391 404L311 308L294 288L311 268L391 172L441 212L378 288L441 364zM633 404L583 364L646 288L583 212L633 172L713 268L730 288L713 308z" />
|
||||||
|
<glyph glyph-name="squinting-face-with-tongue"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM352 512C284.992 512 236.5 473.375008 236.5 473.375008L275.5 422.624992C275.5 422.624992 310.1744992 448 352.062496 448C393.950496 448 428.562496 422.624992 428.562496 422.624992L467.562496 473.375008C467.498496 473.375008 419.008 512 352 512zM672 512C604.992 512 556.5 473.375008 556.5 473.375008L595.5 422.624992C595.5 422.624992 630.174496 448 672.062496 448C713.950496 448 748.562496 422.624992 748.562496 422.624992L787.562496 473.375008C787.498496 473.375008 739.008 512 672 512zM376.5 340.562496L327.437504 299.437504C355.494176 266.009728 398.443392 242.3571520000001 448 231.2499840000001L448 192C448 156.8 476.8 128 512 128C547.2 128 576 156.8 576 192L576 231.2499840000001C625.554688 242.359072 668.465984 265.98704 696.5 299.437504L647.437504 340.562496C620.301504 308.1144960000001 568.416 288 512 288C455.584 288 403.668 308.146496 376.5 340.562496z" />
|
||||||
|
<glyph glyph-name="clipboard"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C471.750016 800 443.124992 771.5 429 736L192 736L192 0L832 0L832 736L595 736C580.875008 771.5 552.250016 800 512 800zM512 736C529.750016 736 544 721.749984 544 704L544 672L640 672L640 608L384 608L384 672L480 672L480 704C480 721.749984 494.250016 736 512 736zM256 672L320 672L320 544L704 544L704 672L768 672L768 64L256 64z" />
|
||||||
|
<glyph glyph-name="newspaper"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M96 736L96 160C96 89.249984 153.250016 32 224 32L800 32C870.750016 32 928 89.249984 928 160L928 512L736 512L736 736zM160 672L672 672L672 160C672 136.624992 679.124992 114.875008 690 96L224 96C185.875008 96 160 121.875008 160 160zM224 608L224 448L608 448L608 608zM288 544L544 544L544 512L288 512zM736 448L864 448L864 160C864 121.875008 838.124992 96 800 96C761.875008 96 736 121.875008 736 160zM224 416L224 352L384 352L384 416zM448 416L448 352L608 352L608 416zM224 320L224 256L384 256L384 320zM448 320L448 256L608 256L608 320zM224 224L224 160L384 160L384 224zM448 224L448 160L608 160L608 224z" />
|
||||||
|
<glyph glyph-name="hand-pointing-left"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M541 800C489.250016 800 448 760.624992 448 715C448 672.249984 463 640.5 478 620C487.375008 607.124992 491.5 605 498 600L504 576L160 576C107.375008 576 64 532.624992 64 480C64 427.375008 107.375008 384 160 384L274 384L327 140C336.5 95.875008 375.875008 64 421 64L960 64L960 576L781 576L564 791L554 800zM531 733L736 531L736 128L421 128C405.750016 128 392.250016 138 389 153L332 423L326 448L160 448C141.875008 448 128 461.875008 128 480C128 498.124992 141.875008 512 160 512L587 512L577 552L558 624L554 637L543 643C543 643 537.250016 645.749984 529 657C520.750016 668.249984 512 686.124992 512 715C512 724.875008 517.5 730.375008 531 733zM800 512L896 512L896 128L800 128z" />
|
||||||
|
<glyph glyph-name="object-group"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 608L192 608L192 160L160 160L160 32L288 32L288 64L736 64L736 32L864 32L864 160L832 160L832 608L864 608L864 736L736 736L736 704L288 704L288 736zM288 640L736 640L736 608L768 608L768 160L736 160L736 128L288 128L288 160L256 160L256 608L288 608zM320 576L320 320L448 320L448 192L704 192L704 448L576 448L576 576zM384 512L512 512L512 384L384 384zM576 384L640 384L640 256L512 256L512 320L576 320z" />
|
||||||
|
<glyph glyph-name="image"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M64 736L64 32L960 32L960 736zM128 672L896 672L896 227L727 397L704 420L559 275L375 461L352 484L128 260zM768 608C732.624992 608 704 579.375008 704 544C704 508.624992 732.624992 480 768 480C803.375008 480 832 508.624992 832 544C832 579.375008 803.375008 608 768 608zM352 393L646 96L128 96L128 169zM704 329L896 137L896 96L737 96L604 230z" />
|
||||||
|
<glyph glyph-name="keyboard"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M96 672C61 672 32 643 32 608L32 160C32 125 61 96 96 96L928 96C963 96 992 125 992 160L992 608C992 643 963 672 928 672zM96 608L928 608L928 160L96 160zM160 544L160 480L224 480L224 544zM288 544L288 480L352 480L352 544zM416 544L416 480L480 480L480 544zM544 544L544 480L608 480L608 544zM672 544L672 480L736 480L736 544zM800 544L800 480L864 480L864 544zM160 416L160 352L288 352L288 416zM352 416L352 352L416 352L416 416zM480 416L480 352L544 352L544 416zM608 416L608 352L672 352L672 416zM736 416L736 352L864 352L864 416zM160 288L160 224L288 224L288 288zM352 288L352 224L672 224L672 288zM736 288L736 224L864 224L864 288z" />
|
||||||
|
<glyph glyph-name="grinning-squinting-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM321.750016 538.624992L286.25 485.375008L342.3125120000001 448L286.25 410.624992L321.750016 357.375008L457.687488 448L321.750016 538.624992zM702.249984 538.624992L566.312512 448L702.249984 357.375008L737.750016 410.624992L681.687488 448L737.750016 485.375008L702.249984 538.624992zM288 288C288 288 339.36 128 512 128C684.64 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="hand-pointing-down"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M320 832L320 653L105 436L96 426L96 413C96 361.2499840000001 135.375008 320 181 320C223.750016 320 255.5 335 276 350C288.875008 359.375008 291 363.5 296 370L320 376L320 32C320 -20.624992 363.375008 -64 416 -64C468.624992 -64 512 -20.624992 512 32L512 146L756 199C800.124992 208.5 832 247.875008 832 293L832 832zM384 768L768 768L768 672L384 672zM365 608L768 608L768 293C768 277.7499840000001 758 264.2499840000001 743 261L473 204L448 198L448 32C448 13.875008 434.124992 0 416 0C397.875008 0 384 13.875008 384 32L384 459L344 449L272 430L259 426L253 415C253 415 250.250016 409.249984 239 401C227.750016 392.749984 209.875008 384 181 384C171.124992 384 165.624992 389.5 163 403z" />
|
||||||
|
<glyph glyph-name="gem"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M305 704L135 500L119 481L135 460L487 12L512 -20L537 12L889 460L905 481L889 500L719 704zM335 640L452 640L366 512L228 512zM572 640L689 640L796 512L658 512zM512 613L580 512L444 512zM225 448L360 448L436 179zM426 448L597 448L512 150zM664 448L799 448L588 180z" />
|
||||||
|
<glyph glyph-name="kissing-face-with-smiling-eyes"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM352 512C284.992 512 236.5 473.375008 236.5 473.375008L275.5 422.624992C275.5 422.624992 310.1744992 448 352.062496 448C393.950496 448 428.562496 422.624992 428.562496 422.624992L467.562496 473.375008C467.498496 473.375008 419.008 512 352 512zM672 512C604.992 512 556.5 473.375008 556.5 473.375008L595.5 422.624992C595.5 422.624992 630.174496 448 672.062496 448C713.950496 448 748.562496 422.624992 748.562496 422.624992L787.562496 473.375008C787.498496 473.375008 739.008 512 672 512zM480 351.750016L480 304.062496C508.864 304.062496 527.249984 290.787008 527.249984 283.875008C527.250016 276.99088 508.944576 263.856096 480.312512 263.750016C480.205792 263.75024 480.106784 263.750016 480 263.750016L480 263.6874880000001L480 216.062496L480 216C480.106784 216 480.205792 215.999776 480.312512 216C508.975936 215.893888 527.249984 202.759136 527.249984 195.875008C527.250016 188.963008 508.832 175.687488 480 175.687488L480 128C533.408 128 575.249984 157.827008 575.249984 195.875008C575.249984 212.90816 566.558144 228.076192 552.5 239.875008C566.558144 251.6737920000001 575.249984 266.841824 575.249984 283.875008C575.250016 321.923008 533.408 351.750016 480 351.750016z" />
|
||||||
|
<glyph glyph-name="address-book"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 768L192 608L160 608L160 544L256 544L256 704L768 704L768 64L256 64L256 160L192 160L192 0L832 0L832 768zM512 576C441.624992 576 384 518.375008 384 448C384 412.375008 399.250016 380.2499840000001 423 357C380.375008 328.124992 352 278.875008 352 224L416 224C416 277 459 320 512 320C565 320 608 277 608 224L672 224C672 278.875008 643.624992 328.124992 601 357C624.750016 380.2499840000001 640 412.375008 640 448C640 518.375008 582.375008 576 512 576zM192 512L192 448L160 448L160 384L256 384L256 512zM512 512C547.750016 512 576 483.749984 576 448C576 412.249984 547.750016 384 512 384C476.250016 384 448 412.249984 448 448C448 483.749984 476.250016 512 512 512zM192 352L192 288L160 288L160 224L256 224L256 352z" />
|
||||||
|
<glyph glyph-name="face-without-mouth"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM656 512A48 48 0 0 1 656 416A48 48 0 0 1 656 512z" />
|
||||||
|
<glyph glyph-name="paper-plane"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M115 725L129 665L191 384L129 103L115 43L172 66L876 354L949 384L876 414L172 702zM204 619L701 416L249 416zM249 352L701 352L204 149z" />
|
||||||
|
<glyph glyph-name="alternate-arrow-circle-up"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM512 608L384 480L480 480L480 160L544 160L544 480L640 480z" />
|
||||||
|
<glyph glyph-name="play-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM384 604L384 164L432 192L720 356L768 384L720 412L432 576zM448 494L639 384L448 274z" />
|
||||||
|
<glyph glyph-name="image-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 589L823 599L631 791L621 800zM256 736L576 736L576 544L768 544L768 32L256 32zM640 690L722 608L640 608zM675 448C657.375008 448 643 433.624992 643 416C643 398.375008 657.375008 384 675 384C692.624992 384 707 398.375008 707 416C707 433.624992 692.624992 448 675 448zM448 397L425 375L297 247L343 201L448 306L521 233L544 211L567 233L608 274L681 201L727 247L631 343L608 365L585 343L544 302L471 375z" />
|
||||||
|
<glyph glyph-name="dizzy-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM310.6249984 566.624992L265.3750016 521.375008L322.750016 464L265.3750016 406.624992L310.6249984 361.375008L368 418.750016L425.375008 361.375008L470.624992 406.624992L413.249984 464L470.624992 521.375008L425.375008 566.624992L368 509.249984L310.6249984 566.624992zM598.624992 566.624992L553.375008 521.375008L610.750016 464L553.375008 406.624992L598.624992 361.375008L656 418.750016L713.375008 361.375008L758.624992 406.624992L701.249984 464L758.624992 521.375008L713.375008 566.624992L656 509.249984L598.624992 566.624992zM512 320C441.408 320 384 271.1874880000001 384 211.187488C384 155.987488 427.072 128 512 128C596.928 128 640 155.987488 640 211.187488C640 271.1874880000001 582.592 320 512 320zM512 256C546.688 256 576 235.4754880000001 576 211.187488C576 205.939488 576 192 512 192C448 192 448 205.939488 448 211.187488C448 235.4754880000001 477.312 256 512 256z" />
|
||||||
|
<glyph glyph-name="laughing-winking-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM576 480L576 416L736 416L736 480L576 480zM288 288C288 288 339.52 128 512 128C684.48 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="alternate-money-bill"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M64 672L64 128L960 128L960 672L64 672zM192 608L832 608C832 572.64 860.64 544 896 544L896 256C860.64 256 832 227.36 832 192L192 192C192 227.36 163.36 256 128 256L128 544C163.36 544 192 572.64 192 608zM480 544C480 497.952 462.048 480 416 480L416 416C440.824032 416 461.977152 420.837408 480 429.187488L480 256L544 256L544 544L480 544zM272 448C245.504 448 224 426.496 224 400C224 373.504 245.504 352 272 352C298.496 352 320 373.504 320 400C320 426.496 298.496 448 272 448zM752 448C725.504 448 704 426.496 704 400C704 373.504 725.504 352 752 352C778.496 352 800 373.504 800 400C800 426.496 778.496 448 752 448z" />
|
||||||
|
<glyph glyph-name="calendar-times"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M288 736L288 704L160 704L160 0L864 0L864 704L736 704L736 736L672 736L672 704L352 704L352 736zM224 640L288 640L288 608L352 608L352 640L672 640L672 608L736 608L736 640L800 640L800 576L224 576zM224 512L800 512L800 64L224 64zM423 423L377 377L466 288L377 199L423 153L512 242L601 153L647 199L558 288L647 377L601 423L512 334z" />
|
||||||
|
<glyph glyph-name="rolling-on-the-floor-laughing"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 259.8400000000001 150.972 148.538016 237.5 72.249984C243.644 87.930016 252.9149984 108.045984 265.8750016 132.750016C200.6270016 196.685984 160 285.664 160 384C160 578.0799999999999 317.92 736 512 736C610.336 736 699.314016 695.3730016 763.249984 630.1249984C787.985984 643.0850015999999 808.070016 652.388 823.750016 658.5C747.462016 745.028 636.16 800 512 800zM880 608C853.504 608 768 560 768 560C768 560 853.504 512 880 512C906.496 512 928 533.504 928 560C928 586.496 906.496 608 880 608zM617.375008 598.6249984L489.375008 470.624992L534.624992 425.375008L662.624992 553.375008L617.375008 598.6249984zM754.249984 466.249984L429.750016 141.750016C455.669984 132.790016 483.2 128 512 128C653.44 128 768 242.56 768 384C768 412.8 763.210016 440.329984 754.249984 466.249984zM921.312512 456.124992C908.512512 451.004992 894.624 448 880 448C876.128 448 869.276 448.094016 857.5 450.750016C861.66 429.117984 864 406.848 864 384C864 189.92 706.08 32 512 32C489.152 32 466.882016 34.34 445.249984 38.5C447.906016 26.724 448 19.872 448 16C448 1.376 444.995008 -12.512512 439.875008 -25.312512C463.363008 -29.440512 487.36 -32 512 -32C741.376 -32 928 154.624 928 384C928 408.64 925.440512 432.636992 921.312512 456.124992zM425.375008 406.624992L297.3750016 278.624992L342.624992 233.375008L470.624992 361.375008L425.375008 406.624992zM336 128C336 128 288 42.496 288 16C288 -10.496 309.504 -32 336 -32C362.496 -32 384 -10.496 384 16C384 42.496 336 128 336 128z" />
|
||||||
|
<glyph glyph-name="times-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM391 551L345 505L466 384L345 263L391 217L512 338L633 217L679 263L558 384L679 505L633 551L512 430z" />
|
||||||
|
<glyph glyph-name="calendar-plus"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M288 736L288 704L160 704L160 0L864 0L864 704L736 704L736 736L672 736L672 704L352 704L352 736zM224 640L288 640L288 608L352 608L352 640L672 640L672 608L736 608L736 640L800 640L800 576L224 576zM224 512L800 512L800 64L224 64zM480 448L480 320L352 320L352 256L480 256L480 128L544 128L544 256L672 256L672 320L544 320L544 448z" />
|
||||||
|
<glyph glyph-name="crying-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 274.956736 814.106592 177.368576 736 112.750016L736 384C736 401.664 721.696 416 704 416C686.304 416 672 401.664 672 384L672 70.875008C623.92704 46.204512 569.642304 32 512 32C454.357696 32 400.07296 46.204512 352 70.875008L352 384C352 401.664 337.6960000000001 416 320 416C302.304 416 288 401.664 288 384L288 112.750016C209.8934208 177.368576 160 274.956736 160 384C160 578.0799999999999 317.92 736 512 736zM384 576C344.32 576 314.2224992 553.942496 294.0624992 535.062496C273.5824992 516.182496 261.1249984 497.937504 261.1249984 497.937504L314.8750016 462.062496C314.8749984 462.062496 322.857504 475.817504 336.937504 488.937504C351.017504 502.057504 369.6 512 384 512L480 512L480 576L384 576zM544 576L544 512L640 512C654.4 512 672.982496 502.057504 687.062496 488.937504C701.142496 475.817504 709.124992 462.062496 709.124992 462.062496L762.875008 497.937504C762.875008 497.937504 750.417504 516.182496 729.937504 535.062496C709.777504 553.942496 679.68 576 640 576L544 576zM512 384C459.072 384 416 333.76 416 272C416 210.24 459.072 160 512 160C564.928 160 608 210.24 608 272C608 333.76 564.928 384 512 384zM512 320C529.024 320 544 297.568 544 272C544 246.432 529.024 224 512 224C494.976 224 480 246.432 480 272C480 297.568 494.976 320 512 320z" />
|
||||||
|
<glyph glyph-name="powerpoint-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 588.8124992L822.375008 598.3750016L630.375008 790.3750016L620.812512 800L192 800zM256 736L576 736L576 544L768 544L768 32L256 32L256 736zM640 691.1875008L723.187488 608L640 608L640 691.1875008zM416 480L416 416L544 416C582.4 416 608 390.4 608 352C608 313.6 582.4 288 544 288C505.6 288 480 313.6 480 352L416 352L416 128L480 128L480 243.1874880000001C499.2 230.387488 521.6 224 544 224C614.4 224 672 281.6 672 352C672 422.4 614.4 480 544 480L416 480z" />
|
||||||
|
<glyph glyph-name="hdd"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M199 704L96 292L96 64L928 64L928 292L825 704zM249 640L775 640L855 320L169 320zM160 256L864 256L864 128L160 128zM768 224C750.375008 224 736 209.624992 736 192C736 174.375008 750.375008 160 768 160C785.624992 160 800 174.375008 800 192C800 209.624992 785.624992 224 768 224z" />
|
||||||
|
<glyph glyph-name="hourglass"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M224 768L224 704L288 704L288 576C288 494.624992 331.750016 423.249984 397 384C331.750016 344.7499840000001 288 273.375008 288 192L288 64L224 64L224 0L800 0L800 64L736 64L736 192C736 273.375008 692.250016 344.7499840000001 627 384C692.250016 423.249984 736 494.624992 736 576L736 704L800 704L800 768zM352 704L672 704L672 576C672 487.249984 600.750016 416 512 416C423.250016 416 352 487.249984 352 576zM512 352C600.750016 352 672 280.7499840000001 672 192L672 64L352 64L352 192C352 280.7499840000001 423.250016 352 512 352z" />
|
||||||
|
<glyph glyph-name="credit-card"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 704C107.375008 704 64 660.624992 64 608L64 160C64 107.375008 107.375008 64 160 64L864 64C916.624992 64 960 107.375008 960 160L960 608C960 660.624992 916.624992 704 864 704zM160 640L864 640C882.124992 640 896 626.124992 896 608L896 544L160 544L160 480L896 480L896 160C896 141.875008 882.124992 128 864 128L160 128C141.875008 128 128 141.875008 128 160L128 608C128 626.124992 141.875008 640 160 640z" />
|
||||||
|
<glyph glyph-name="bell-slash"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M119 823L73 777L905 -55L951 -9L832 110L832 160L800 160C782.375008 160 768 174.375008 768 192L768 471C768 593.5 685.375008 697.5 575 727C575.375008 730 576 732.875008 576 736C576 771.375008 547.375008 800 512 800C476.624992 800 448 771.375008 448 736C448 733.249984 448.624992 730.624992 449 728C406.124992 717.124992 366.624992 695.624992 334 664C324.375008 654.749984 315.875008 644.375008 308 634zM498 672C504.5 672.5 511.5 672.249984 518 672C620.624992 668.875008 704 578.875008 704 471L704 238L354 588C361.124992 598.5 368.624992 609 378 618C410.875008 650 452.875008 668.875008 498 672zM257 504C256.250016 495.875008 256 488.249984 256 480L256 192C256 174.375008 241.624992 160 224 160L192 160L192 96L422 96C418.375008 85.875008 416 75.249984 416 64C416 11.375008 459.375008 -32 512 -32C564.624992 -32 608 11.375008 608 64C608 75.249984 605.624992 85.875008 602 96L666 96L602 160L314 160C317.624992 170 320 180.7499840000001 320 192L320 442zM512 96C530 96 544 82 544 64C544 46 530 32 512 32C494 32 480 46 480 64C480 82 494 96 512 96z" />
|
||||||
|
<glyph glyph-name="lemon"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M416 768C333.375008 768 259.875008 722 209 652C158.124992 582 128 487.5 128 384C128 280.5 158.124992 186 209 116C259.875008 46 333.375008 0 416 0C679.375008 0 819.750016 150.624992 854 309C878.124992 326.375008 896 352.124992 896 384C896 415.875008 878.124992 441.624992 854 459C817.875008 621.375008 650 768 416 768zM416 704C474.750016 704 529.250016 671.5 571 614C612.750016 556.5 640 474.875008 640 384C640 293.124992 612.750016 211.5 571 154C529.250016 96.5 474.750016 64 416 64C357.250016 64 302.750016 96.5 261 154C219.250016 211.5 192 293.124992 192 384C192 474.875008 219.250016 556.5 261 614C302.750016 671.5 357.250016 704 416 704zM620 655C717.250016 603.5 779.750016 518.749984 795 436L798 420L813 413C824.124992 407.875008 832 397.124992 832 384C832 370.875008 824.124992 360.124992 813 355L798 348L795 332C778 239.375008 722.124992 148.5 610 100C614.375008 105.249984 618.875008 110.375008 623 116C673.875008 186 704 280.5 704 384C704 487.5 673.875008 582 623 652C622.124992 653.124992 620.875008 653.875008 620 655zM416 640C393.124992 640 371.624992 631.749984 352 618L417 465L483 617C462.750016 631.875008 439.750016 640 416 640zM304 567C278.875008 527.624992 261.624992 474.875008 257 416L368 416zM530 564L465 416L575 416C570.5 473.5 554.250016 524.875008 530 564zM257 352C261.5 294.5 277.750016 243.124992 302 204L367 352zM464 352L528 201C553.124992 240.375008 570.375008 293.124992 575 352zM415 303L349 151C369.250016 136.124992 392.250016 128 416 128C438.875008 128 460.375008 136.2499840000001 480 150z" />
|
||||||
|
<glyph glyph-name="alternate-grinning-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 544A48 96 0 0 1 368 352A48 96 0 0 1 368 544zM656 544A48 96 0 0 1 656 352A48 96 0 0 1 656 544zM288 288C288 288 339.36 128 512 128C684.64 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="alternate-arrow-circle-right"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM608 512L608 416L288 416L288 352L608 352L608 256L736 384z" />
|
||||||
|
<glyph glyph-name="archive-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 800zM256 736L480 736L480 704L544 704L544 736L768 736L768 32L256 32zM480 672L480 608L544 608L544 672zM480 576L480 512L544 512L544 576zM480 480L480 410C443 396.624992 416 361.375008 416 320C416 267.375008 459.375008 224 512 224C564.624992 224 608 267.375008 608 320C608 361.375008 581 396.624992 544 410L544 480zM512 352C530 352 544 338 544 320C544 302 530 288 512 288C494 288 480 302 480 320C480 338 494 352 512 352z" />
|
||||||
|
<glyph glyph-name="lizard--hand-"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M458 768C401.124992 768 347.624992 738.124992 319 689L150 398C135.750016 373.5 128 345.375008 128 317L128 0L448 0L448 138C532.124992 163.2499840000001 575.5 207.5 589 224L791 224C831.875008 224 862.875008 264.375008 853 304L849 319C834.750016 375.7499840000001 783.5 416 725 416L505 416L489 480L693 480C751.5 480 802.750016 520.249984 817 577L828 619C865.750016 632 896 662.124992 896 704L896 768zM458 704L832 704C832 685.875008 818.124992 672 800 672L512 672L480 608L759 608L755 592C747.875008 563.375008 722.5 544 693 544L489 544C448.124992 544 417.124992 503.624992 427 464L443 400C450.124992 371.624992 475.750016 352 505 352L725 352C754.5 352 779.875008 332.624992 787 304L791 288L560 288L550 275C550 275 503.875008 209.5 410 191L384 186L384 64L192 64L192 317C192 334 196.375008 351.2499840000001 205 366L375 656C392.250016 685.5 423.750016 704 458 704z" />
|
||||||
|
<glyph glyph-name="laughing-squinting-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM321.750016 538.624992L286.25 485.375008L342.3125120000001 448L286.25 410.624992L321.750016 357.375008L457.687488 448L321.750016 538.624992zM702.249984 538.624992L566.312512 448L702.249984 357.375008L737.750016 410.624992L681.687488 448L737.750016 485.375008L702.249984 538.624992zM288 288C288 288 339.36 128 512 128C684.64 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="grinning-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM656 512A48 48 0 0 1 656 416A48 48 0 0 1 656 512zM288 288C288 288 339.36 128 512 128C684.64 128 736 288 736 288L288 288z" />
|
||||||
|
<glyph glyph-name="thumbs-up"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M534 800L524 791L307 576L160 576L160 64L699 64C744.124992 64 783.5 95.875008 793 140L862 460C874.624992 519.124992 828.375008 576 768 576L584 576L590 600C596.5 605 600.624992 607.124992 610 620C625 640.5 640 672.249984 640 715C640 760.624992 598.750016 800 547 800zM557 733C570.5 730.375008 576 724.875008 576 715C576 686.124992 567.250016 668.249984 559 657C550.750016 645.749984 545 643 545 643L534 637L530 624L511 552L501 512L768 512C789.124992 512 803.375008 493.624992 799 473L731 153C727.750016 138 714.250016 128 699 128L352 128L352 531zM224 512L288 512L288 128L224 128z" />
|
||||||
|
<glyph glyph-name="hospital"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M480 800L480 736L416 736L416 672L480 672L480 608L544 608L544 672L608 672L608 736L544 736L544 800zM192 736L192 0L480 0L480 96L544 96L544 0L832 0L832 736L672 736L672 672L768 672L768 64L608 64L608 160L416 160L416 64L256 64L256 672L352 672L352 736zM352 544L352 480L416 480L416 544zM480 544L480 480L544 480L544 544zM608 544L608 480L672 480L672 544zM352 416L352 352L416 352L416 416zM480 416L480 352L544 352L544 416zM608 416L608 352L672 352L672 416zM352 288L352 224L416 224L416 288zM480 288L480 224L544 224L544 288zM608 288L608 224L672 224L672 288z" />
|
||||||
|
<glyph glyph-name="kissing-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM656 512A48 48 0 0 1 656 416A48 48 0 0 1 656 512zM480 351.750016L480 304.062496C508.832 304.062496 527.249984 290.787008 527.249984 283.875008C527.249984 276.99088 508.94432 263.856096 480.312512 263.750016C480.205792 263.75024 480.106784 263.750016 480 263.750016L480 263.6874880000001L480 216.062496L480 216C480.106784 216 480.205792 215.999776 480.312512 216C508.94432 215.893888 527.249984 202.759136 527.249984 195.875008C527.249984 188.963008 508.832 175.687488 480 175.687488L480 128C533.408 128 575.249984 157.827008 575.249984 195.875008C575.249984 212.914304 566.497728 228.074528 552.437504 239.875008C566.497728 251.675488 575.249984 266.83568 575.249984 283.875008C575.249984 321.923008 533.408 351.750016 480 351.750016z" />
|
||||||
|
<glyph glyph-name="face-blowing-a-kiss"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C587.808 -32 658.657504 -11.302016 719.937504 24.249984L673.812512 71.687488C625.300512 46.471488 570.336 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736C706.08 736 864 578.0799999999999 864 384C864 383.168 863.875008 382.362496 863.875008 381.562496C886.883008 377.850496 908.194496 369.303008 926.562496 356.375008C927.170496 365.559008 928 374.656 928 384C928 613.376 741.376 800 512 800zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM640 512C572.992 512 524.5 473.375008 524.5 473.375008L563.5 422.624992C563.5 422.624992 598.174496 448 640.062496 448C681.950496 448 716.562496 422.624992 716.562496 422.624992L755.562496 473.375008C755.498496 473.375008 707.008 512 640 512zM480 351.750016L480 304.062496C508.864 304.062496 527.249984 290.787008 527.249984 283.875008C527.250016 276.99088 508.944576 263.856096 480.312512 263.750016C480.205792 263.75024 480.106784 263.750016 480 263.750016L480 263.6874880000001L480 216.062496L480 216C480.106784 216 480.205792 215.999776 480.312512 216C508.975936 215.893888 527.249984 202.759136 527.249984 195.875008C527.250016 188.963008 508.832 175.687488 480 175.687488L480 128C533.408 128 575.249984 157.827008 575.249984 195.875008C575.249984 212.90816 566.558144 228.076192 552.5 239.875008C566.558144 251.6737920000001 575.249984 266.841824 575.249984 283.875008C575.250016 321.923008 533.408 351.750016 480 351.750016zM728 320C679.04 320 640 278.6950080000001 640 230.375008C640 202.279008 656.164512 181.592992 667.812512 169.624992L784 50.249984L900.5 169.624992C912.148 181.5609920000001 928 198.119008 928 230.375008C928 278.6950080000001 888.96 320 840 320C816.64 320 797.44 312 784 304C770.56 312 751.36 320 728 320zM728 256C735.648 256 743.442016 253.64 751.249984 249L784 229.5L816.750016 249C824.557984 253.64 832.352 256 840 256C852.8 256 864 244.0070080000001 864 230.375008C864 224.3910080000001 863.743488 223.5925120000001 854.687488 214.312512L784.062496 141.937504L713.687488 214.2499840000001C710.071488 217.961984 704 224.999008 704 230.375008C704 244.0070080000001 715.2 256 728 256z" />
|
||||||
|
<glyph glyph-name="bar-chart"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M416 800L416 32L352 32L352 672L160 672L160 32L96 32L96 -32L928 -32L928 32L864 32L864 448L672 448L672 32L608 32L608 800zM480 736L544 736L544 32L480 32z" />
|
||||||
|
<glyph glyph-name="heart"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M304 736C171.624992 736 64 627.124992 64 496C64 450.249984 84.750016 410.624992 104 382C123.250016 353.375008 143 335 143 335L489 -12L512 -35L535 -12L881 335C881 335 960 404.624992 960 496C960 627.124992 852.375008 736 720 736C610.124992 736 539.375008 669.875008 512 642C484.624992 669.875008 413.875008 736 304 736zM304 672C399.624992 672 488 579 488 579L512 552L536 579C536 579 624.375008 672 720 672C817.375008 672 896 592.124992 896 496C896 446.624992 836 380 836 380L512 56L188 380C188 380 172.5 394.875008 157 418C141.5 441.124992 128 471.249984 128 496C128 592.124992 206.624992 672 304 672z" />
|
||||||
|
<glyph glyph-name="alternate-comment"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M96 736L96 160L256 160L256 -2.5L459.250016 160L928 160L928 736zM160 672L864 672L864 224L436.750016 224L320 130.624992L320 224L160 224z" />
|
||||||
|
<glyph glyph-name="plus-square"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM480 544L480 416L352 416L352 352L480 352L480 224L544 224L544 352L672 352L672 416L544 416L544 544z" />
|
||||||
|
<glyph glyph-name="alternate-list"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M329 727L224 622L183 663L137 617L201 553L224 531L247 553L375 681zM480 672L480 608L896 608L896 672zM329 471L224 366L183 407L137 361L201 297L224 275L247 297L375 425zM480 416L480 352L896 352L896 416zM329 215L224 110L183 151L137 105L201 41L224 19L247 41L375 169zM480 160L480 96L896 96L896 160z" />
|
||||||
|
<glyph glyph-name="smiling-face-with-heart-eyes"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM336 544C309.5 544 288 522.5 288 496C288 493 288.250016 490.124992 289 487C290.375008 479.375008 293.5 472.875008 298 467C322 425.624992 384 384 384 384C384 384 480 445 480 496C480 522.5 458.5 544 432 544C405.5 544 384 522.5 384 496C384 522.5 362.5 544 336 544zM592 544C565.5 544 544 522.5 544 496C544 493 544.250016 490.124992 545 487C546.375008 479.375008 549.5 472.875008 554 467C578 425.624992 640 384 640 384C640 384 703.624992 425.249984 727 468C732.124992 477.5 736 486.749984 736 496C736 522.5 714.5 544 688 544C661.5 544 640 522.5 640 496C640 522.5 618.5 544 592 544zM346 288L291 256C335.250016 179.624992 417.5 128 512 128C606.5 128 688.750016 179.624992 733 256L678 288C644.750016 230.624992 583.250016 192 512 192C440.750016 192 379.250016 230.624992 346 288z" />
|
||||||
|
<glyph glyph-name="alternate-arrow-circle-left"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM416 512L288 384L416 256L416 352L736 352L736 416L416 416z" />
|
||||||
|
<glyph glyph-name="frowning-face-with-open-mouth"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM368 544C341.5 544 320 508.124992 320 464C320 419.875008 341.5 384 368 384C394.5 384 416 419.875008 416 464C416 508.124992 394.5 544 368 544zM656 544C629.5 544 608 508.124992 608 464C608 419.875008 629.5 384 656 384C682.5 384 704 419.875008 704 464C704 508.124992 682.5 544 656 544zM512 352C438.624992 352 384 292.624992 384 224C384 192.375008 395.375008 160.875008 421 145C446.624992 129.124992 475 128 512 128C549 128 577.375008 129.124992 603 145C628.624992 160.875008 640 192.375008 640 224C640 292.624992 585.375008 352 512 352zM512 288C553.375008 288 576 261.5 576 224C576 202.624992 574.750016 201.875008 570 199C565.250016 196.124992 545.750016 192 512 192C478.250016 192 458.750016 196.124992 454 199C449.250016 201.875008 448 202.624992 448 224C448 261.5 470.624992 288 512 288z" />
|
||||||
|
<glyph glyph-name="tired-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM321.750016 538.624992L286.25 485.375008L342.3125120000001 448L286.25 410.624992L321.750016 357.375008L457.687488 448L321.750016 538.624992zM702.249984 538.624992L566.312512 448L702.249984 357.375008L737.750016 410.624992L681.687488 448L737.750016 485.375008L702.249984 538.624992zM512 288C428.6720000000001 288 373.303488 218.92 353.687488 181C347.767488 169.576 358.588512 156.750016 370.8125120000001 160.750016C403.356512 171.438016 459.168 192 512 192C564.832 192 620.643488 171.405984 653.187488 160.750016C665.443488 156.718016 676.232512 169.576 670.312512 181C650.696512 218.888 595.328 288 512 288z" />
|
||||||
|
<glyph glyph-name="peace--hand-"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M480 832C427.375008 832 384 788.624992 384 736L384 687L380 700C364.750016 750.375008 310.375008 779.249984 260 764C209.624992 748.749984 180.750016 694.375008 196 644L279 374C273 371.624992 266.5 368.875008 260 365C233.250016 349 203 316.624992 194 265C187.250016 226.7499840000001 194.624992 193.124992 200 175C200 174.624992 200 174.375008 200 174L225 94C253.875008 0.124992 340.875008 -64 439 -64L608 -64C731.375008 -64 832 36.624992 832 160L832 477C832 478.375008 832 479.624992 832 481C832 481.624992 832 482.375008 832 483C832 483.375008 832 483.624992 832 484C831.750016 485 831.375008 486 831 487C828.124992 522.249984 806.750016 555.124992 772 569C747.875008 578.624992 722.5 577.249984 700 568C689.624992 587.624992 672.875008 604.249984 651 613C625.875008 623 599.124992 621.375008 576 611L576 736C576 788.624992 532.624992 832 480 832zM480 768C498.124992 768 512 754.124992 512 736L512 525L479 441C474.250016 429.124992 472 416.249984 472 404L341 387L258 663C252.750016 680.249984 261.750016 697.749984 279 703C296.250016 708.249984 313.750016 698.249984 319 681L385 462L421 473L448 473L448 736C448 754.124992 461.875008 768 480 768zM614 556C618.124992 556.124992 622.875008 555.624992 627 554C643.750016 547.249984 651.750016 528.749984 645 512L611 427L611 426L598 393C597.375008 391.249984 595.875008 390.5 595 389C578.750016 401.624992 558.250016 409.749984 537 410C537.375008 412.375008 537 414.624992 538 417L586 536C591 548.624992 601.624992 555.749984 614 556zM735 512C739.250016 512 743.750016 511.624992 748 510C760.624992 505 767.750016 493.624992 768 481C768 480.624992 768 480.375008 768 480C768 476.124992 767.5 471.875008 766 468L730 379C723.250016 362.2499840000001 704.750016 354.2499840000001 688 361C671.250016 367.7499840000001 664.250016 386.249984 671 403L705 488C705.5 489.249984 705.5 490.749984 706 492C709.375008 500.375008 715.5 506.749984 723 510C726.750016 511.624992 730.750016 512 735 512zM528 347C544.875008 351 561 340.875008 565 324C567.5 313.624992 566.124992 308.375008 563 303C559.875008 297.624992 553.250016 291 539 286L384 246C374.5 243.5 366.750016 236.7499840000001 362.875008 227.875008C359 218.875008 359.375008 208.624992 364 200L393 147C401.5 131.5 421 125.875008 436.5 134.5C452 143 457.624992 162.5 449 178L440 194L558 225C559 225.2499840000001 560 225.624992 561 226C585.750016 234.624992 605.624992 249.375008 618 270C628.124992 286.875008 632 306.5 630 326C639.375008 315.875008 651.375008 307.5 665 302C701.624992 287.375008 741.875008 296.624992 768 323L768 160C768 71.249984 696.750016 0 608 0L439 0C368.624992 0 306.750016 45.749984 286 113L262 193C259.375008 201.624992 254.124992 231.875008 258 254C264 288.375008 279 301.624992 293 310C307 318.375008 317 319 317 319C317.624992 319 318.375008 319 319 319L525 346C526 346.2499840000001 527 346.624992 528 347z" />
|
||||||
|
<glyph glyph-name="calendar-minus"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M288 736L288 704L160 704L160 0L864 0L864 704L736 704L736 736L672 736L672 704L352 704L352 736zM224 640L288 640L288 608L352 608L352 640L672 640L672 608L736 608L736 640L800 640L800 576L224 576zM224 512L800 512L800 64L224 64zM352 320L352 256L672 256L672 320z" />
|
||||||
|
<glyph glyph-name="lightbulb"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C353.375008 768 224 638.624992 224 480C224 418.624992 251 355 288 298C315.5 255.624992 348.375008 216.624992 384 187L384 96C384 61 413 32 448 32L480 0L544 0L576 32C611 32 640 61 640 96L640 187C675.624992 216.624992 708.5 255.624992 736 298C773 355 800 418.624992 800 480C800 638.624992 670.624992 768 512 768zM512 704C636.124992 704 736 604.124992 736 480C736 438.124992 715.375008 382.875008 683 333C654.124992 288.5 616.124992 248.875008 581 224L443 224C407.875008 248.875008 369.875008 288.5 341 333C308.624992 382.875008 288 438.124992 288 480C288 604.124992 387.875008 704 512 704zM456 160L568 160C570.5 158.2499840000001 573.124992 157 576 156L576 96L448 96L448 156C450.875008 157 453.5 158.2499840000001 456 160z" />
|
||||||
|
<glyph glyph-name="check-square"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM681 535L448 302L343 407L297 361L425 233L448 211L471 233L727 489z" />
|
||||||
|
<glyph glyph-name="user"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 736C388.624992 736 288 635.375008 288 512C288 434.875008 327.375008 366.375008 387 326C272.875008 277 192 163.7499840000001 192 32L256 32C256 173.7499840000001 370.250016 288 512 288C653.750016 288 768 173.7499840000001 768 32L832 32C832 163.7499840000001 751.124992 277 637 326C696.624992 366.375008 736 434.875008 736 512C736 635.375008 635.375008 736 512 736zM512 672C600.750016 672 672 600.749984 672 512C672 423.249984 600.750016 352 512 352C423.250016 352 352 423.249984 352 512C352 600.749984 423.250016 672 512 672z" />
|
||||||
|
<glyph glyph-name="spock--hand-"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M397 832C390.750016 831.875008 384.375008 831.5 378 830C335.124992 820.249984 305 782.124992 303 740C291.250016 741.875008 279.124992 741.749984 267 739C215.624992 727.375008 182.375008 675.375008 194 624L256 355L256 328L228 356C190.750016 393.249984 129.250016 393.249984 92 356C54.750016 318.7499840000001 54.750016 257.2499840000001 92 220L309 3C346.624992 -34.5 398.624992 -64 460 -64L608 -64C731.375008 -64 832 36.624992 832 160L832 384L862 535C872.124992 586.624992 837.624992 637.875008 786 648C775.124992 650.124992 764.375008 650.5 754 649L761 685C771.124992 736.624992 736.624992 787.875008 685 798C633.375008 808.124992 583.124992 773.624992 573 722L541 570L492 757C491.875008 757.249984 492.124992 757.749984 492 758L491 758C480.250016 802.124992 440.750016 832.749984 397 832zM392 767C409.624992 771 426 760.624992 430 743L430 742L510 435L516 411L573 411L579 437L635 709L635 710C638.5 727.749984 655.250016 738.5 673 735C690.750016 731.5 701.5 714.749984 698 697L640 405L703 393L736 559L737 559C740.5 576.749984 756.250016 588.5 774 585C791.750016 581.5 802.5 564.749984 799 547L769 390L768 387L768 160C768 71.249984 696.750016 0 608 0L460 0C419.250016 0 384.250016 19.875008 355 49L137 265C124.250016 277.7499840000001 124.250016 298.2499840000001 137 311C149.750016 323.7499840000001 170.250016 323.7499840000001 183 311L265 228L320 173L320 359L319 362L257 638C253 655.624992 263.375008 673 281 677C298.624992 681 315 669.624992 319 652L376 398L439 412L382 667C381.875008 667.375008 382.124992 667.624992 382 668L368 729C364 746.624992 374.375008 763 392 767z" />
|
||||||
|
<glyph glyph-name="identification-card"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 704C107.375008 704 64 660.624992 64 608L64 160C64 107.375008 107.375008 64 160 64L864 64C916.624992 64 960 107.375008 960 160L960 608C960 660.624992 916.624992 704 864 704zM160 640L864 640C882.124992 640 896 626.124992 896 608L896 160C896 141.875008 882.124992 128 864 128L160 128C141.875008 128 128 141.875008 128 160L128 608C128 626.124992 141.875008 640 160 640zM352 576C281.624992 576 224 518.375008 224 448C224 412.375008 239.250016 380.2499840000001 263 357C220.375008 328.124992 192 279 192 224L256 224C256 277.375008 298.624992 320 352 320C405.375008 320 448 277.375008 448 224L512 224C512 279 483.624992 328.124992 441 357C464.750016 380.2499840000001 480 412.375008 480 448C480 518.375008 422.375008 576 352 576zM576 544L576 480L832 480L832 544zM352 512C387.750016 512 416 483.749984 416 448C416 412.249984 387.750016 384 352 384C316.250016 384 288 412.249984 288 448C288 483.749984 316.250016 512 352 512zM576 416L576 352L832 352L832 416zM576 288L576 224L736 224L736 288z" />
|
||||||
|
<glyph glyph-name="calendar-check"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M288 736L288 704L160 704L160 0L864 0L864 704L736 704L736 736L672 736L672 704L352 704L352 736zM224 640L288 640L288 608L352 608L352 640L672 640L672 608L736 608L736 640L800 640L800 576L224 576zM224 512L800 512L800 64L224 64zM649 439L480 270L407 343L361 297L457 201L480 179L503 201L695 393z" />
|
||||||
|
<glyph glyph-name="moon"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 672L96 672L96 608L160 608L160 544L224 544L224 608L288 608L288 672L224 672L224 736zM649 642L596 640C425 633.875008 288 493.5 288 321C288 144.624992 431.624992 1 608 1C780.5 1 920.875008 138 927 309L929 361L882 339C857 327.124992 829.250016 321 800 321C693.624992 321 608 406.624992 608 513C608 542.249984 615.124992 569 627 594zM556 566C552 548.249984 544 532 544 513C544 372 659 257 800 257C819.375008 257 835.875008 264.875008 854 269C829.624992 153 731.5 65 608 65C466.250016 65 352 179.2499840000001 352 321C352 444.249984 440.250016 541.375008 556 566z" />
|
||||||
|
<glyph glyph-name="calendar"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M288 768L288 736L160 736L160 32L864 32L864 736L736 736L736 768L672 768L672 736L352 736L352 768zM224 672L288 672L288 640L352 640L352 672L672 672L672 640L736 640L736 672L800 672L800 608L224 608zM224 544L800 544L800 96L224 96zM416 480L416 416L480 416L480 480zM544 480L544 416L608 416L608 480zM672 480L672 416L736 416L736 480zM288 352L288 288L352 288L352 352zM416 352L416 288L480 288L480 352zM544 352L544 288L608 288L608 352zM672 352L672 288L736 288L736 352zM288 224L288 160L352 160L352 224zM416 224L416 160L480 160L480 224zM544 224L544 160L608 160L608 224z" />
|
||||||
|
<glyph glyph-name="file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 589L823 599L631 791L621 800zM256 736L576 736L576 544L768 544L768 32L256 32zM640 690L722 608L640 608z" />
|
||||||
|
<glyph glyph-name="clock"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM480 640L480 352L704 352L704 416L544 416L544 640z" />
|
||||||
|
<glyph glyph-name="sun"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M480 800L480 640L544 640L544 800zM240 701L195 656L308 542L354 588zM784 701L670 588L716 542L829 656zM512 608C388.624992 608 288 507.375008 288 384C288 260.624992 388.624992 160 512 160C635.375008 160 736 260.624992 736 384C736 507.375008 635.375008 608 512 608zM512 544C600.750016 544 672 472.749984 672 384C672 295.2499840000001 600.750016 224 512 224C423.250016 224 352 295.2499840000001 352 384C352 472.749984 423.250016 544 512 544zM96 416L96 352L256 352L256 416zM768 416L768 352L928 352L928 416zM308 226L195 112L240 67L354 180zM716 226L670 180L784 67L829 112zM480 128L480 -32L544 -32L544 128z" />
|
||||||
|
<glyph glyph-name="hand-pointing-up"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M416 832C363.375008 832 320 788.624992 320 736L320 392L296 398C291 404.5 288.875008 408.624992 276 418C255.5 433 223.750016 448 181 448C135.375008 448 96 406.749984 96 355L96 342L105 332L320 115L320 -64L832 -64L832 475C832 520.124992 800.124992 559.5 756 569L512 622L512 736C512 788.624992 468.624992 832 416 832zM416 768C434.124992 768 448 754.124992 448 736L448 570L473 564L743 507C758 503.749984 768 490.249984 768 475L768 160L365 160L163 365C165.624992 378.5 171.124992 384 181 384C209.875008 384 227.750016 375.2499840000001 239 367C250.250016 358.7499840000001 253 353 253 353L259 342L272 338L344 319L384 309L384 736C384 754.124992 397.875008 768 416 768zM384 96L768 96L768 0L384 0z" />
|
||||||
|
<glyph glyph-name="user-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM512 640C424 640 352 568 352 480C352 431.5 374.624992 388.375008 409 359C337 321.624992 288 246.375008 288 160L352 160C352 248.7499840000001 423.250016 320 512 320C600.750016 320 672 248.7499840000001 672 160L736 160C736 246.375008 687 321.624992 615 359C649.375008 388.375008 672 431.5 672 480C672 568 600 640 512 640zM512 576C565.375008 576 608 533.375008 608 480C608 426.624992 565.375008 384 512 384C458.624992 384 416 426.624992 416 480C416 533.375008 458.624992 576 512 576z" />
|
||||||
|
<glyph glyph-name="envelope-open"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800L495 789L111 539L96 529L96 -32L928 -32L928 529L913 539L529 789zM512 724L838 512L512 301L186 512zM160 453L495 236L512 225L529 236L864 453L864 32L160 32z" />
|
||||||
|
<glyph glyph-name="edit"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M800 767C775.5 767 751.5 757.5 733 739L416 423L409 416L407 406L385 294L375 247L422 257L534 279L544 281L551 288L867 605C903.875008 641.875008 903.875008 702.124992 867 739C848.5 757.5 824.5 767 800 767zM800 705C807.5 705 814.875008 701.124992 822 694C836.250016 679.749984 836.250016 664.249984 822 650L512 340L457 329L468 384L778 694C785.124992 701.124992 792.5 705 800 705zM128 640L128 0L768 0L768 422L704 358L704 64L192 64L192 576L486 576L550 640z" />
|
||||||
|
<glyph glyph-name="circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704z" />
|
||||||
|
<glyph glyph-name="word-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 800zM256 736L768 736L768 32L256 32zM576 512L576 304C576 297.124992 566.875008 288 560 288C558.624992 288 560.624992 286.5 558 290C555.375008 293.5 551.375008 302.375008 549 312C544.250016 331.124992 544 352 544 352L544 416L480 416L480 272C480 265.124992 470.875008 256 464 256C457.124992 256 448 265.124992 448 272L448 480L320 480L320 416L384 416L384 272C384 227.7499840000001 419.750016 192 464 192C495.5 192 518 212.624992 531 239C540.624992 233 547.624992 224 560 224C604.250016 224 640 259.7499840000001 640 304L640 448L704 448L704 512z" />
|
||||||
|
<glyph glyph-name="alternate-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 589L823 599L631 791L621 800zM256 736L576 736L576 544L768 544L768 32L256 32zM640 690L722 608L640 608zM352 480L352 416L672 416L672 480zM352 352L352 288L672 288L672 352zM352 224L352 160L672 160L672 224z" />
|
||||||
|
<glyph glyph-name="flushed-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 640C270.944 640 192 561.056 192 464C192 366.944 270.944 288 368 288C427.54 288 480.13632 317.812992 512 363.1874880000001C543.86368 317.812992 596.46 288 656 288C753.056 288 832 366.944 832 464C832 561.056 753.056 640 656 640C596.46 640 543.86368 610.1870144 512 564.812512C480.13632 610.1870144 427.54 640 368 640zM368 576C429.76 576 480 525.76 480 464C480 402.24 429.76 352 368 352C306.24 352 256 402.24 256 464C256 525.76 306.24 576 368 576zM656 576C717.76 576 768 525.76 768 464C768 402.24 717.76 352 656 352C594.24 352 544 402.24 544 464C544 525.76 594.24 576 656 576zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM656 512A48 48 0 0 1 656 416A48 48 0 0 1 656 512zM384 224L384 160L640 160L640 224L384 224z" />
|
||||||
|
<glyph glyph-name="life-ring"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C522.750016 704 533.5 703 544 702L544 605C533.5 606.5 522.875008 608 512 608C501.124992 608 490.5 606.5 480 605L480 702C490.5 703 501.250016 704 512 704zM416 690L416 586C369.5 563.749984 332.124992 526.5 310 480L207 480C238.124992 580 316.250016 658.749984 416 690zM608 690C707.624992 658.749984 786.750016 579.624992 818 480L714 480C691.875008 526.5 654.5 563.875008 608 586zM512 544C600.750016 544 672 472.749984 672 384C672 295.2499840000001 600.750016 224 512 224C423.250016 224 352 295.2499840000001 352 384C352 472.749984 423.250016 544 512 544zM194 416L290 416C288.5 405.624992 288 394.749984 288 384C288 373.124992 289.5 362.5 291 352L194 352C193 362.5 192 373.2499840000001 192 384C192 394.749984 193 405.5 194 416zM733 416L830 416C831 405.5 832 394.749984 832 384C832 373.2499840000001 831 362.5 830 352L733 352C734.5 362.5 736 373.124992 736 384C736 394.875008 734.5 405.5 733 416zM206 288L310 288C332.124992 241.5 369.5 204.124992 416 182L416 78C316.375008 109.249984 237.250016 188.375008 206 288zM714 288L818 288C786.750016 188.375008 707.624992 109.249984 608 78L608 182C654.5 204.124992 691.875008 241.5 714 288zM480 163C490.5 161.5 501.124992 160 512 160C522.875008 160 533.5 161.5 544 163L544 66C533.5 65 522.750016 64 512 64C501.250016 64 490.5 65 480 66z" />
|
||||||
|
<glyph glyph-name="caret-square-right"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM455 599L409 553L578 384L409 215L455 169L647 361L669 384L647 407z" />
|
||||||
|
<glyph glyph-name="beaming-face-with-smiling-eyes"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM352 512C284.992 512 236.5 473.375008 236.5 473.375008L275.5 422.624992C275.5 422.624992 310.1744992 448 352.062496 448C393.950496 448 428.562496 422.624992 428.562496 422.624992L467.562496 473.375008C467.498496 473.375008 419.008 512 352 512zM672 512C604.992 512 556.5 473.375008 556.5 473.375008L595.5 422.624992C595.5 422.624992 630.174496 448 672.062496 448C713.950496 448 748.562496 422.624992 748.562496 422.624992L787.562496 473.375008C787.498496 473.375008 739.008 512 672 512zM345.937504 288L290.8750016 256C296.4350016 246.4400000000001 302.56 237.290624 309.25 228.562496C315.94 219.8343680000001 323.217504 211.542496 330.937504 203.750016C346.377504 188.164992 363.790016 174.532512 382.750016 163.312512C392.230016 157.702496 402.04 152.675616 412.249984 148.312512C422.46 143.949376 433.035008 140.2624960000001 443.875008 137.2499840000001C454.715008 134.237504 465.88 131.93312 477.249984 130.375008C488.62 128.816864 500.2 128 512 128C523.8 128 535.38 128.816864 546.750016 130.375008C603.6 138.165632 654.462496 164.7874880000001 693.062496 203.750016C700.782496 211.542496 708.06 219.8343680000001 714.750016 228.562496C721.44 237.290624 727.564992 246.4400000000001 733.124992 256L678.062496 288C648.942496 237.88 598.270624 201.944384 538.249984 193.750016C529.675616 192.57936 520.92 192 512 192C503.08 192 494.324384 192.57936 485.750016 193.750016C477.175616 194.9206400000001 468.782496 196.6750080000001 460.624992 198.937504C444.310016 203.462496 428.907488 210.0800000000001 414.687488 218.5C400.467488 226.92 387.430016 237.127488 375.875008 248.812512C370.097504 254.655008 364.691872 260.8968640000001 359.687488 267.437504C354.683136 273.978112 350.097504 280.8400000000001 345.937504 288z" />
|
||||||
|
<glyph glyph-name="square"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 704L192 64L832 64L832 704zM256 640L768 640L768 128L256 128z" />
|
||||||
|
<glyph glyph-name="question-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM512 576C441.624992 576 384 518.375008 384 448L448 448C448 483.749984 476.250016 512 512 512C547.750016 512 576 483.749984 576 448C576 423.5 560.250016 401.749984 537 394L524 390C497.875008 381.375008 480 356.375008 480 329L480 288L544 288L544 329L557 333C606.250016 349.375008 640 396.124992 640 448C640 518.375008 582.375008 576 512 576zM480 256L480 192L544 192L544 256z" />
|
||||||
|
<glyph glyph-name="eye"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 640C245.250016 640 40 405 40 405L21 384L40 363C40 363 227.124992 149.624992 476 130C487.875008 128.5 499.750016 128 512 128C524.250016 128 536.124992 128.5 548 130C796.875008 149.624992 984 363 984 363L1003 384L984 405C984 405 778.750016 640 512 640zM512 576C582.5 576 647.5 556.749984 704 531C724.375008 497.249984 736 458.375008 736 416C736 300.375008 649.250016 205.375008 537 193C536.375008 192.875008 535.624992 193.124992 535 193C527.375008 192.624992 519.750016 192 512 192C503.5 192 495.250016 192.5 487 193C374.750016 205.375008 288 300.375008 288 416C288 457.749984 299.250016 496.624992 319 530L318 530C375 556.249984 440.750016 576 512 576zM512 512C459 512 416 469 416 416C416 363 459 320 512 320C565 320 608 363 608 416C608 469 565 512 512 512zM232 482C227 460.5 224 438.875008 224 416C224 359.875008 240 307.375008 268 263C187.375008 309.624992 131.375008 365.2499840000001 113 384C128.375008 399.749984 171.250016 441.5 232 482zM792 482C852.750016 441.5 895.624992 399.749984 911 384C892.624992 365.2499840000001 836.624992 309.624992 756 263C784 307.375008 800 359.875008 800 416C800 438.875008 797 460.749984 792 482z" />
|
||||||
|
<glyph glyph-name="pdf-file"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M192 800L192 -32L832 -32L832 800zM256 736L768 736L768 32L256 32zM493 565C483.250016 565.124992 471.875008 561.624992 464 555C455.875008 548.124992 452.250016 539.624992 450 531C445.624992 513.749984 446.875008 495.875008 451 476C455.875008 452.749984 469.750016 424.749984 481 398C475.250016 373.624992 473.750016 352 465 327C457.5 305.5 447.875008 293.124992 439 274C418.875008 266.375008 394.875008 261.875008 379 252C361.875008 241.375008 346.875008 229.624992 338 213C329.124992 196.375008 330.124992 172.875008 342 156C347.875008 147.124992 355.624992 140.124992 366 136C376.375008 131.875008 387.624992 131.7499840000001 397 135C415.875008 141.5 429.250016 156 442 173C453.875008 188.7499840000001 462.250016 215.5 473 237C489.124992 242.375008 500.750016 249.124992 518 253C536 257 548.124992 255.124992 565 257C572.250016 248.7499840000001 578.375008 235.5 586 229C601.250016 215.7499840000001 618 205.2499840000001 638 204C658 202.7499840000001 678 215.2499840000001 689 234L690 234L690 235C694.875008 243.5 698.250016 252.7499840000001 698 263C697.750016 273.2499840000001 692.624992 284 686 291C672.875008 305 656.124992 308.624992 638 311C624 312.875008 604.5 307.875008 588 307C573.5 326.124992 559.124992 340.5 546 365C538.875008 378.2499840000001 537 389.5 531 403C535.624992 424.749984 544.750016 449 546 468C547.5 491 546.624992 510.875008 540 529C536.624992 538.124992 531.250016 547.124992 523 554C515 560.624992 504.624992 564.749984 494 565C493.624992 565 493.375008 565 493 565zM514 328C519.750016 317.875008 526.875008 311.5 533 302C524 300.375008 517.124992 302 508 300C506.5 299.624992 505.5 298.375008 504 298C505.875008 303 508.250016 306 510 311C512 316.875008 512.124992 322.124992 514 328zM632 263C642.750016 261.624992 646.624992 259.624992 648 259C647.750016 258.5 648.375008 258.624992 648 258C644 251.375008 643.624992 251.875008 641 252C638.875008 252.124992 630.750016 256.5 623 262C625.250016 261.875008 630 263.2499840000001 632 263zM408 213C406.250016 210.375008 404.750016 204.2499840000001 403 202C393.250016 189 384.250016 183 382 182C381.624992 182.5 382.624992 182 382 183L381 183C377.750016 187.624992 378.624992 185.7499840000001 381 190C383.375008 194.2499840000001 390.875008 202.875008 404 211C405 211.624992 407 212.375008 408 213z" />
|
||||||
|
<glyph glyph-name="frowning-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 768C300.250016 768 128 595.749984 128 384C128 172.2499840000001 300.250016 0 512 0C723.750016 0 896 172.2499840000001 896 384C896 595.749984 723.750016 768 512 768zM512 704C689.124992 704 832 561.124992 832 384C832 206.875008 689.124992 64 512 64C334.875008 64 192 206.875008 192 384C192 561.124992 334.875008 704 512 704zM368 512C341.5 512 320 490.5 320 464C320 437.5 341.5 416 368 416C394.5 416 416 437.5 416 464C416 490.5 394.5 512 368 512zM656 512C629.5 512 608 490.5 608 464C608 437.5 629.5 416 656 416C682.5 416 704 437.5 704 464C704 490.5 682.5 512 656 512zM512 320C426.624992 320 351.375008 277.2499840000001 305 213L357 176C391.875008 224.5 447.750016 256 512 256C576.250016 256 632.124992 224.5 667 176L719 213C672.624992 277.2499840000001 597.375008 320 512 320z" />
|
||||||
|
<glyph glyph-name="window-minimize"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 32L864 32L864 736zM224 672L800 672L800 96L224 96zM288 256L288 192L736 192L736 256z" />
|
||||||
|
<glyph glyph-name="registered-trademark"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM384 576L384 192L448 192L448 320L557 320L608 192L672 192L618 328C668 345.375008 704 392 704 448C704 518.749984 646.750016 576 576 576zM448 512L576 512C614.124992 512 640 486.124992 640 448C640 409.875008 614.124992 384 576 384L448 384z" />
|
||||||
|
<glyph glyph-name="comment-dots"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M96 736L96 160L256 160L256 -2.5L459.250016 160L928 160L928 736zM160 672L864 672L864 224L436.750016 224L320 130.624992L320 224L160 224zM320 512C284.624992 512 256 483.375008 256 448C256 412.624992 284.624992 384 320 384C355.375008 384 384 412.624992 384 448C384 483.375008 355.375008 512 320 512zM512 512C476.624992 512 448 483.375008 448 448C448 412.624992 476.624992 384 512 384C547.375008 384 576 412.624992 576 448C576 483.375008 547.375008 512 512 512zM704 512C668.624992 512 640 483.375008 640 448C640 412.624992 668.624992 384 704 384C739.375008 384 768 412.624992 768 448C768 483.375008 739.375008 512 704 512z" />
|
||||||
|
<glyph glyph-name="winking-face-with-tongue"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM576 480L576 416L736 416L736 480L576 480zM376.5 340.562496L327.437504 299.437504C355.494176 266.009728 398.443392 242.3571520000001 448 231.2499840000001L448 192C448 156.8 476.8 128 512 128C547.2 128 576 156.8 576 192L576 231.2499840000001C625.554688 242.359072 668.465984 265.98704 696.5 299.437504L647.437504 340.562496C620.301504 308.1144960000001 568.416 288 512 288C455.584 288 403.668 308.146496 376.5 340.562496z" />
|
||||||
|
<glyph glyph-name="futbol"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C531.250016 736 549.624992 734 568 731L512 691L456 731C474.250016 733.875008 492.875008 736 512 736zM378 709L493 625L512 611L531 625L646 709C697.124992 687.749984 742.250016 655.249984 778 614L734 477L727 455L746 442L862 357C857.750016 300.624992 840.5 247.7499840000001 813 202L644 202L637 180L592 41C566.375008 35 539.5 32 512 32C483.375008 32 455.624992 35.624992 429 42L385 179L378 201L211 201C183 247 166.375008 300.124992 162 357L277 441L296 454L289 476L244 612C280 654.249984 325.875008 687.5 378 709zM512 573L493 559L347 453L329 439L336 417L392 246L399 224L625 224L632 246L688 417L695 439L677 453L531 559zM824 547C841.5 513.5 853 476.749984 859 438L802 479zM199 545L221 479L165 438C170.875008 476 182 512 199 545zM512 493L620 415L579 288L445 288L404 415zM691 138L763 138C735.750016 109.875008 704.375008 86.624992 669 69zM261 137L331 137L353 70C318.750016 87.375008 287.624992 110 261 137z" />
|
||||||
|
<glyph glyph-name="clone"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M160 736L160 704L160 224L160 192L192 192L288 192L288 256L224 256L224 672L640 672L640 608L704 608L704 704L704 736L672 736L192 736L160 736zM320 576L320 544L320 64L320 32L352 32L832 32L864 32L864 64L864 544L864 576L832 576L352 576L320 576zM384 512L800 512L800 96L384 96L384 512z" />
|
||||||
|
<glyph glyph-name="share-square"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M749.249984 754L704 708.75L837.375008 576L528 576C430.976 576 352 497.056 352 400C352 302.944 430.976 224 528 224L544 224L544 288L528 288C466.24 288 416 338.24 416 400C416 461.76 466.24 512 528 512L837.5 512L704.249984 378.750016L749.5 333.5L960 544L749.249984 754zM160 736L160 32L864 32L864 352L800 288L800 96L224 96L224 672L571.312512 672L635.312512 736L160 736z" />
|
||||||
|
<glyph glyph-name="copyright"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624992 800 96 613.375008 96 384C96 154.624992 282.624992 -32 512 -32C741.375008 -32 928 154.624992 928 384C928 613.375008 741.375008 800 512 800zM512 736C706.750016 736 864 578.749984 864 384C864 189.2499840000001 706.750016 32 512 32C317.250016 32 160 189.2499840000001 160 384C160 578.749984 317.250016 736 512 736zM509 576C402.624992 576 317 490.375008 317 384C317 277.624992 402.624992 192 509 192C585.750016 192 651.375008 238 682 303L624 330C603.375008 286.124992 560.250016 256 509 256C436.124992 256 381 311.124992 381 384C381 456.875008 436.124992 512 509 512C560.250016 512 603.375008 481.875008 624 438L682 465C651.375008 530 585.750016 576 509 576z" />
|
||||||
|
<glyph glyph-name="bell"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C476.624992 800 448 771.375008 448 736C448 733.249984 448.624992 730.624992 449 728C338.375008 699.749984 256 599.249984 256 480L256 192C256 173.875008 242.124992 160 224 160L192 160L192 96L422 96C418.375008 85.875008 416 75.249984 416 64C416 11.375008 459.375008 -32 512 -32C564.624992 -32 608 11.375008 608 64C608 75.249984 605.624992 85.875008 602 96L832 96L832 160L800 160C781.875008 160 768 173.875008 768 192L768 471C768 591.249984 687.624992 698.5 575 728C575.375008 730.624992 576 733.249984 576 736C576 771.375008 547.375008 800 512 800zM498 672C502.624992 672.375008 507.250016 672 512 672C514 672 516 672 518 672C622.5 668.875008 704 577.249984 704 471L704 192C704 180.7499840000001 706.375008 170.124992 710 160L314 160C317.624992 170.124992 320 180.7499840000001 320 192L320 480C320 581.624992 398.250016 664.749984 498 672zM512 96C530 96 544 82 544 64C544 46 530 32 512 32C494 32 480 46 480 64C480 82 494 96 512 96z" />
|
||||||
|
<glyph glyph-name="paper--hand-"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 832C467.750016 832 431 801 420 760C408.750016 764.624992 396.875008 768 384 768C331.375008 768 288 724.624992 288 672L288 328L260 356C222.750016 393.249984 161.250016 393.249984 124 356C86.750016 318.7499840000001 86.750016 257.2499840000001 124 220L341 3C378.624992 -34.5 430.624992 -64 492 -64L640 -64C763.375008 -64 864 36.624992 864 160L864 544C864 596.624992 820.624992 640 768 640C756.750016 640 746.124992 637.624992 736 634L736 672C736 724.624992 692.624992 768 640 768C627.124992 768 615.250016 764.624992 604 760C593 801 556.250016 832 512 832zM512 768C530.124992 768 544 754.124992 544 736L544 416L608 416L608 672C608 690.124992 621.875008 704 640 704C658.124992 704 672 690.124992 672 672L672 416L736 416L736 544C736 562.124992 749.875008 576 768 576C786.124992 576 800 562.124992 800 544L800 160C800 71.249984 728.750016 0 640 0L492 0C451.250016 0 416.250016 19.875008 387 49L169 265C156.250016 277.7499840000001 156.250016 298.2499840000001 169 311C181.750016 323.7499840000001 202.250016 323.7499840000001 215 311L297 228L352 173L352 672C352 690.124992 365.875008 704 384 704C402.124992 704 416 690.124992 416 672L416 416L480 416L480 736C480 754.124992 493.875008 768 512 768z" />
|
||||||
|
<glyph glyph-name="scissors--hand-"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M365 673C338.5 673.5 316.5 668 303 664C302.624992 664 302.375008 664 302 664L222 639C128.124992 610.124992 64 523.124992 64 425L64 256C64 132.624992 164.624992 32 288 32L605 32C644 31.124992 681.750016 54 697 92C706.624992 116.124992 705.250016 141.5 696 164C715.624992 174.375008 732.250016 191.124992 741 213C751 238.124992 749.375008 264.875008 739 288L864 288C916.624992 288 960 331.375008 960 384C960 436.624992 916.624992 480 864 480L815 480L828 484C878.375008 499.249984 907.250016 553.624992 892 604C876.750016 654.375008 822.375008 683.249984 772 668L502 585C499.624992 591 496.875008 597.5 493 604C477 630.749984 444.624992 661 393 670C383.375008 671.624992 373.875008 672.875008 365 673zM804 608C816.5 606.624992 827.124992 598 831 585C836.250016 567.749984 826.250016 550.249984 809 545L590 479L601 443L601 416L864 416C882.124992 416 896 402.124992 896 384C896 365.875008 882.124992 352 864 352L653 352L569 385C556.875008 389.875008 544.375008 392.249984 532 392L515 523L791 607C795.375008 608.375008 799.875008 608.5 804 608zM364 607C370.124992 607 376.5 607 382 606C416.375008 600 429.624992 585 438 571C446.375008 557 447 547 447 547C447 546.375008 447 545.624992 447 545L474 339C474.250016 338 474.624992 337 475 336C479 319.124992 468.875008 303 452 299C441.624992 296.5 436.375008 297.875008 431 301C425.624992 304.124992 419 310.7499840000001 414 325L374 480C371.5 489.5 364.750016 497.249984 355.875008 501.124992C346.875008 505 336.624992 504.624992 328 500L275 471C259.5 462.5 253.875008 443 262.5 427.5C271 412 290.5 406.375008 306 415L322 424L353 306C353.250016 305 353.624992 304 354 303C362.624992 278.2499840000001 377.375008 258.375008 398 246C414.875008 235.875008 434.5 232 454 234C443.875008 224.624992 435.5 212.624992 430 199C415.375008 162.375008 424.624992 122.124992 451 96L288 96C199.250016 96 128 167.2499840000001 128 256L128 425C128 495.375008 173.750016 557.249984 241 578L321 602C327.5 604 345.750016 607 364 607zM538 327C540.375008 326.624992 542.624992 327 545 326L664 278C680.750016 271.2499840000001 688.750016 253.7499840000001 682 237C675.250016 220.2499840000001 656.750016 212.2499840000001 640 219L521 266C519.250016 266.624992 518.5 268.124992 517 269C529.624992 285.2499840000001 537.750016 305.7499840000001 538 327zM518 195C522.250016 195 526.750016 194.624992 531 193L574 176L616 159L620 158C636.750016 151.2499840000001 644.750016 132.7499840000001 638 116C633.124992 103.749984 622.250016 96.624992 610 96C609.624992 96 609.375008 96 609 96C604.750016 95.875008 600.250016 96.375008 596 98L507 134C490.250016 140.7499840000001 482.250016 159.2499840000001 489 176C492.375008 184.375008 498.5 189.7499840000001 506 193C509.750016 194.624992 513.750016 195 518 195z" />
|
||||||
|
<glyph glyph-name="bookmark"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M224 736L224 0L275 38L512 216L749 38L800 0L800 736zM288 672L736 672L736 128L531 282L512 296L493 282L288 128z" />
|
||||||
|
<glyph glyph-name="grimacing-face"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM368 512A48 48 0 0 1 368 416A48 48 0 0 1 368 512zM656 512A48 48 0 0 1 656 416A48 48 0 0 1 656 512zM384 352C331.072 352 288 308.928 288 256C288 203.072 331.072 160 384 160L640 160C692.928 160 736 203.072 736 256C736 308.928 692.928 352 640 352L384 352zM384 288L416 288L416 224L384 224C366.336 224 352 238.336 352 256C352 273.664 366.336 288 384 288zM480 288L544 288L544 224L480 224L480 288zM608 288L640 288C657.664 288 672 273.664 672 256C672 238.336 657.664 224 640 224L608 224L608 288z" />
|
||||||
|
<glyph glyph-name="check-circle"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C281.624992 800 96 614.375008 96 384C96 153.624992 281.624992 -32 512 -32C742.375008 -32 928 153.624992 928 384C928 428.749984 922 473.375008 906 515L854 464C860.375008 438.375008 864 412.749984 864 384C864 188.7499840000001 707.250016 32 512 32C316.750016 32 160 188.7499840000001 160 384C160 579.249984 316.750016 736 512 736C608 736 694.250016 697.749984 755 637L800 682C726.375008 755.624992 624 800 512 800zM873 663L512 302L375 439L329 393L489 233L512 211L535 233L919 617z" />
|
||||||
|
<glyph glyph-name="alternate-calendar"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M288 768L288 736L160 736L160 32L864 32L864 736L736 736L736 768L672 768L672 736L352 736L352 768zM224 672L288 672L288 640L352 640L352 672L672 672L672 640L736 640L736 672L800 672L800 608L224 608zM224 544L800 544L800 96L224 96zM416 480L416 416L480 416L480 480zM544 480L544 416L608 416L608 480zM672 480L672 416L736 416L736 480zM288 352L288 288L352 288L352 352zM416 352L416 288L480 288L480 352zM544 352L544 288L608 288L608 352zM672 352L672 288L736 288L736 352zM288 224L288 160L352 160L352 224zM416 224L416 160L480 160L480 224zM544 224L544 160L608 160L608 224z" />
|
||||||
|
<glyph glyph-name="handshake"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M618 673C600.250016 672.875008 582.624992 672 564 667C545.375008 662 526.750016 654 507 641C482.5 655.375008 458.750016 667.249984 436 670C407.750016 673.5 381.5 671.624992 351 671C314.875008 670.249984 291.250016 651.749984 253 637C214.750016 622.249984 165.5 608 96 608L64 608L64 300L82 291L141 262L351 28L352 27C376 3.249984 408.375008 -2.624992 437 -1C465.624992 0.624992 492.5 9 514 22C561.250016 50.5 690 140 690 140L693 142L695 144C710.250016 159.124992 717.875008 177.624992 723 197L846 259L938 290L960 297L960 608L928 608C858.624992 608 809.250016 623 771 638C732.750016 653 709.5 671.249984 673 672C653.5 672.375008 635.750016 673.124992 618 673zM619 609C633.375008 609.124992 650 608.375008 671 608C674.375008 607.875008 705.124992 594.749984 748 578C784.250016 563.749984 834.624992 551.124992 896 547L896 343L822 318L820 318L818 317L721 268C715.624992 282.624992 708.250016 296.124992 697 308L695 311L559 478L539 503L514 483L428 413C399.124992 393 375.750016 398.749984 352 410C345.124992 413.249984 345.5 414.249984 340 418L486 539L488 541C531.375008 584 558 598.875008 581 605C592.5 608.124992 604.624992 608.875008 619 609zM396 608C408.250016 608.249984 418.5 608.124992 428 607C436.375008 606 445.875008 598.875008 454 596C450.750016 593 448.375008 591.249984 445 588C444.250016 587.249984 443.750016 586.749984 443 586L268 441L241 419L265 394C265 394 288.124992 369 324 352C359.875008 335 415.250016 325.375008 465 360L467 362L529 413L647 268L648 266L649 265C670.124992 244.124992 669.624992 211.2499840000001 649 190C648.750016 189.7499840000001 649.250016 189.2499840000001 649 189C648.750016 188.875008 644.5 186.375008 644 186L602 243L550 205L591 150C574.375008 138.7499840000001 566.875008 132.875008 549 121L506 179L454 141L495 86C491.375008 83.749984 483.875008 78.749984 481 77C470.875008 70.875008 451.375008 64 434 63C417.624992 62.124992 405.124992 65.875008 399 71L398 72L184 309L180 314L128 340L128 547C189.124992 551 239.875008 563.124992 276 577C318.750016 593.375008 349.250016 606.875008 353 607C369.375008 607.375008 383.750016 607.749984 396 608z" />
|
||||||
|
<glyph glyph-name="grinning-face-with-sweat"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 449.728 912.264 511.734496 885 567.062496C875.4 544.438496 859.675488 525.224512 840.187488 510.312512C855.355488 471.048512 864 428.544 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736C555.232 736 596.508512 727.804 634.812512 713.5C643.132512 732.444 652.731008 751.922 662.875008 771.25C616.027008 789.554 565.248 800 512 800zM752 800C752 800 672 663.2124992 672 620.8124992C672 578.4124992 707.84 544 752 544C796.16 544 832 578.4124992 832 620.8124992C832 663.2124992 752 800 752 800zM288 448L288 384L448 384L448 448L288 448zM576 448L576 384L736 384L736 448L576 448z" />
|
||||||
|
<glyph glyph-name="identification-badge"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M480 800C445 800 416 771 416 736L224 736L224 0L800 0L800 736L608 736C608 771 579 800 544 800zM480 736L544 736L544 672L480 672zM288 672L416 672L416 608L608 608L608 672L736 672L736 64L288 64zM512 544C441.624992 544 384 486.375008 384 416C384 380.375008 399.250016 348.2499840000001 423 325C380.375008 296.124992 352 247 352 192L416 192C416 245.375008 458.624992 288 512 288C565.375008 288 608 245.375008 608 192L672 192C672 247 643.624992 296.124992 601 325C624.750016 348.2499840000001 640 380.375008 640 416C640 486.375008 582.375008 544 512 544zM512 480C547.750016 480 576 451.749984 576 416C576 380.2499840000001 547.750016 352 512 352C476.250016 352 448 380.2499840000001 448 416C448 451.749984 476.250016 480 512 480z" />
|
||||||
|
<glyph glyph-name="rock--hand-"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M480 704C446 704 416.124992 686 399 659C385 667 369.124992 672 352 672C299.375008 672 256 628.624992 256 576L256 459L189 373C148.124992 320.124992 150.875008 244.2499840000001 195 194L271 108C313.5 59.624992 374.624992 32 439 32L608 32C731.375008 32 832 132.624992 832 256L832 544C832 596.624992 788.624992 640 736 640C718.875008 640 703 635 689 627C671.875008 654 642 672 608 672C590.875008 672 575 667 561 659C543.875008 686 514 704 480 704zM480 640C498.124992 640 512 626.124992 512 608L512 512L576 512L576 576C576 594.124992 589.875008 608 608 608C626.124992 608 640 594.124992 640 576L640 512L704 512L704 544C704 562.124992 717.875008 576 736 576C754.124992 576 768 562.124992 768 544L768 256C768 167.2499840000001 696.750016 96 608 96L439 96C393 96 349.375008 115.375008 319 150L243 237C218.875008 264.5 217.624992 304 240 333L256 354L256 320L320 320L320 576C320 594.124992 333.875008 608 352 608C370.124992 608 384 594.124992 384 576L384 512L448 512L448 608C448 626.124992 461.875008 640 480 640z" />
|
||||||
|
<glyph glyph-name="face-with-rolling-eyes"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M512 800C282.624 800 96 613.376 96 384C96 154.624 282.624 -32 512 -32C741.376 -32 928 154.624 928 384C928 613.376 741.376 800 512 800zM512 736C706.08 736 864 578.0799999999999 864 384C864 189.92 706.08 32 512 32C317.92 32 160 189.92 160 384C160 578.0799999999999 317.92 736 512 736zM352 576C281.408 576 224 518.592 224 448C224 377.408 281.408 320 352 320C422.592 320 480 377.408 480 448C480 518.592 422.592 576 352 576zM672 576C601.408 576 544 518.592 544 448C544 377.408 601.408 320 672 320C742.592 320 800 377.408 800 448C800 518.592 742.592 576 672 576zM320.624992 503.437504A48 48 0 0 1 368 448A48 48 0 0 1 410.437504 473.750016C413.934432 465.848384 416 457.183616 416 448C416 412.704 387.296 384 352 384C316.704 384 288 412.704 288 448C288 471.836896 301.2527584 492.424512 320.624992 503.437504zM703.375008 503.437504C722.747232 492.424512 736 471.836896 736 448C736 412.704 707.296 384 672 384C636.704 384 608 412.704 608 448C608 457.183616 610.065568 465.848384 613.562496 473.750016A48 48 0 0 1 656 448A48 48 0 0 1 703.375008 503.437504zM384 256L384 192L640 192L640 256L384 256z" />
|
||||||
|
<glyph glyph-name="alternate-trash"
|
||||||
|
unicode=""
|
||||||
|
horiz-adv-x="1024" d="M480 768C463.250016 768 446.124992 762.124992 434 750C421.875008 737.875008 416 720.749984 416 704L416 672L224 672L224 608L256 608L256 96C256 43.375008 299.375008 0 352 0L736 0C788.624992 0 832 43.375008 832 96L832 608L864 608L864 672L672 672L672 704C672 720.749984 666.124992 737.875008 654 750C641.875008 762.124992 624.750016 768 608 768zM480 704L608 704L608 672L480 672zM320 608L768 608L768 96C768 78.249984 753.750016 64 736 64L352 64C334.250016 64 320 78.249984 320 96zM384 512L384 160L448 160L448 512zM512 512L512 160L576 160L576 512zM640 512L640 160L704 160L704 512z" />
|
||||||
|
</font>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 111 KiB |
BIN
public/assets/fonts/la-regular-400.ttf
Normal file
BIN
public/assets/fonts/la-regular-400.ttf
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-regular-400.woff
Normal file
BIN
public/assets/fonts/la-regular-400.woff
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-regular-400.woff2
Normal file
BIN
public/assets/fonts/la-regular-400.woff2
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-regular-400d41d.eot
Normal file
BIN
public/assets/fonts/la-regular-400d41d.eot
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-solid-900.eot
Normal file
BIN
public/assets/fonts/la-solid-900.eot
Normal file
Binary file not shown.
2894
public/assets/fonts/la-solid-900.svg
Normal file
2894
public/assets/fonts/la-solid-900.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 902 KiB |
BIN
public/assets/fonts/la-solid-900.ttf
Normal file
BIN
public/assets/fonts/la-solid-900.ttf
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-solid-900.woff
Normal file
BIN
public/assets/fonts/la-solid-900.woff
Normal file
Binary file not shown.
BIN
public/assets/fonts/la-solid-900.woff2
Normal file
BIN
public/assets/fonts/la-solid-900.woff2
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user