From 07577514aefcd6a9c2facacdfe121f690d1394a2 Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 18:28:08 +0200 Subject: [PATCH 01/13] Add me as a contact --- app/Services/Contact/Contact/SetMeContact.php | 46 ++++++++++++ config/database.php | 1 + ...19_08_13_160332_add_me_contact_on_user.php | 34 +++++++++ .../Contact/Contact/SetMeContactTest.php | 70 +++++++++++++++++++ 4 files changed, 151 insertions(+) create mode 100644 app/Services/Contact/Contact/SetMeContact.php create mode 100644 database/migrations/2019_08_13_160332_add_me_contact_on_user.php create mode 100644 tests/Unit/Services/Contact/Contact/SetMeContactTest.php diff --git a/app/Services/Contact/Contact/SetMeContact.php b/app/Services/Contact/Contact/SetMeContact.php new file mode 100644 index 00000000000..aee1afebf20 --- /dev/null +++ b/app/Services/Contact/Contact/SetMeContact.php @@ -0,0 +1,46 @@ + 'required|integer|exists:accounts,id', + 'user_id' => 'required|integer|exists:users,id', + 'contact_id' => 'required|integer|exists:contacts,id', + ]; + } + + /** + * Set a contact as 'me' contact. + * + * @param array $data + * @return User + */ + public function execute(array $data) : User + { + $this->validate($data); + + $user = User::where('account_id', $data['account_id']) + ->findOrFail($data['user_id']); + + $contact = Contact::where('account_id', $data['account_id']) + ->findOrFail($data['contact_id']); + + $user->me_contact_id = $contact->id; + $user->save(); + + return $user; + } +} diff --git a/config/database.php b/config/database.php index ca8792400a6..5fdc48c5224 100644 --- a/config/database.php +++ b/config/database.php @@ -72,6 +72,7 @@ 'driver' => 'sqlite', 'database' => env('DB_DATABASE', database_path('database.sqlite')), 'prefix' => env('DB_PREFIX', ''), + 'foreign_key_constraints' => true, ], 'mysql' => [ diff --git a/database/migrations/2019_08_13_160332_add_me_contact_on_user.php b/database/migrations/2019_08_13_160332_add_me_contact_on_user.php new file mode 100644 index 00000000000..4db9f61ee10 --- /dev/null +++ b/database/migrations/2019_08_13_160332_add_me_contact_on_user.php @@ -0,0 +1,34 @@ +unsignedInteger('me_contact_id')->after('email')->nullable(); + $table->foreign('me_contact_id')->references('id')->on('contacts')->onDelete('set null'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropForeign(['me_contact_id']); + $table->dropColumn('me_contact_id'); + }); + } +} diff --git a/tests/Unit/Services/Contact/Contact/SetMeContactTest.php b/tests/Unit/Services/Contact/Contact/SetMeContactTest.php new file mode 100644 index 00000000000..0754cdbb3bc --- /dev/null +++ b/tests/Unit/Services/Contact/Contact/SetMeContactTest.php @@ -0,0 +1,70 @@ +create(); + $contact = factory(Contact::class)->create([ + 'account_id' => $user->account->id, + ]); + + $request = [ + 'account_id' => $user->account->id, + 'user_id' => $user->id, + 'contact_id' => $contact->id, + ]; + + $user = app(SetMeContact::class)->execute($request); + + $this->assertDatabaseHas('users', [ + 'id' => $user->id, + 'account_id' => $user->account->id, + 'me_contact_id' => $contact->id, + ]); + } + + public function test_it_fails_if_wrong_parameters_are_given() + { + $user = factory(User::class)->create(); + $contact = factory(Contact::class)->create([ + 'account_id' => $user->account->id, + ]); + + $request = [ + 'account_id' => $user->account->id, + 'user_id' => $user->id, + 'contact_id' => 0, + ]; + + $this->expectException(ValidationException::class); + app(SetMeContact::class)->execute($request); + } + + public function test_it_throws_an_exception_if_contact_not_found() + { + $user = factory(User::class)->create(); + $contact = factory(Contact::class)->create(); + + $request = [ + 'account_id' => $user->account->id, + 'user_id' => $user->id, + 'contact_id' => $contact->id, + ]; + + $this->expectException(ModelNotFoundException::class); + app(SetMeContact::class)->execute($request); + } +} From d8b258cef3de121940525a8224613e12312c7801 Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 16:29:01 +0000 Subject: [PATCH 02/13] Apply fixes from StyleCI --- tests/Unit/Services/Contact/Contact/SetMeContactTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Unit/Services/Contact/Contact/SetMeContactTest.php b/tests/Unit/Services/Contact/Contact/SetMeContactTest.php index 0754cdbb3bc..94136055058 100644 --- a/tests/Unit/Services/Contact/Contact/SetMeContactTest.php +++ b/tests/Unit/Services/Contact/Contact/SetMeContactTest.php @@ -5,8 +5,8 @@ use Tests\TestCase; use App\Models\User\User; use App\Models\Contact\Contact; -use Illuminate\Validation\ValidationException; use App\Services\Contact\Contact\SetMeContact; +use Illuminate\Validation\ValidationException; use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Database\Eloquent\ModelNotFoundException; From d257ff2a10a2c7f1635525a824d733d36fa9adff Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 19:50:18 +0200 Subject: [PATCH 03/13] Add Api function --- .../Controllers/Api/ApiContactController.php | 21 ++++++++++ app/Http/Resources/Account/User/User.php | 2 + app/Http/Resources/Contact/Contact.php | 1 + app/Http/Resources/Contact/ContactShort.php | 1 + .../Contact/ContactWithContactFields.php | 1 + app/Models/User/User.php | 10 +++++ app/Providers/AppServiceProvider.php | 1 + routes/api.php | 1 + .../Api/Contact/ApiContactControllerTest.php | 41 +++++++++++++++++++ 9 files changed, 79 insertions(+) diff --git a/app/Http/Controllers/Api/ApiContactController.php b/app/Http/Controllers/Api/ApiContactController.php index fdc7e476e08..61c0c043b2f 100644 --- a/app/Http/Controllers/Api/ApiContactController.php +++ b/app/Http/Controllers/Api/ApiContactController.php @@ -8,6 +8,7 @@ use Illuminate\Support\Collection; use Illuminate\Database\QueryException; use Illuminate\Validation\ValidationException; +use App\Services\Contact\Contact\SetMeContact; use App\Services\Contact\Contact\CreateContact; use App\Services\Contact\Contact\UpdateContact; use App\Services\Contact\Contact\DestroyContact; @@ -175,4 +176,24 @@ private function applyWithParameter($contacts, string $parameter = null) return ContactResource::collection($contacts); } + + /** + * Set a contact as 'me'. + * + * @param Request $request + * @param int $contactId + * + * @return string + */ + public function setMe(Request $request, $contactId) + { + $data = [ + 'contact_id' => $contactId, + 'account_id' => auth()->user()->account->id, + 'user_id' => auth()->user()->id, + ]; + app(SetMeContact::class)->execute($data); + + return 'true'; + } } diff --git a/app/Http/Resources/Account/User/User.php b/app/Http/Resources/Account/User/User.php index c919534cb2f..e8ecb43f12a 100644 --- a/app/Http/Resources/Account/User/User.php +++ b/app/Http/Resources/Account/User/User.php @@ -4,6 +4,7 @@ use App\Helpers\DateHelper; use Illuminate\Http\Resources\Json\Resource; +use App\Http\Resources\Contact\ContactShort as ContactShortResource; use App\Http\Resources\Settings\Currency\Currency as CurrencyResource; class User extends Resource @@ -22,6 +23,7 @@ public function toArray($request) 'first_name' => $this->first_name, 'last_name' => $this->last_name, 'email' => $this->email, + 'me_contact' => new ContactShortResource($this->me), 'timezone' => $this->timezone, 'currency' => new CurrencyResource($this->currency), 'locale' => $this->locale, diff --git a/app/Http/Resources/Contact/Contact.php b/app/Http/Resources/Contact/Contact.php index 526eeebb73d..90cf3b6f015 100644 --- a/app/Http/Resources/Contact/Contact.php +++ b/app/Http/Resources/Contact/Contact.php @@ -30,6 +30,7 @@ public function toArray($request) 'is_partial' => (bool) $this->is_partial, 'is_active' => (bool) $this->is_active, 'is_dead' => (bool) $this->is_dead, + 'is_me' => $this->id == auth()->user()->me_contact_id, 'last_called' => $this->when(! $this->is_partial, $this->getLastCalled()), 'last_activity_together' => $this->when(! $this->is_partial, $this->getLastActivityDate()), 'stay_in_touch_frequency' => $this->when(! $this->is_partial, $this->stay_in_touch_frequency), diff --git a/app/Http/Resources/Contact/ContactShort.php b/app/Http/Resources/Contact/ContactShort.php index 7215fee6299..6ace4a79d3b 100644 --- a/app/Http/Resources/Contact/ContactShort.php +++ b/app/Http/Resources/Contact/ContactShort.php @@ -27,6 +27,7 @@ public function toArray($request) 'gender_type' => is_null($this->gender) ? null : $this->gender->type, 'is_partial' => (bool) $this->is_partial, 'is_dead' => (bool) $this->is_dead, + 'is_me' => $this->id == auth()->user()->me_contact_id, 'information' => [ 'birthdate' => [ 'is_age_based' => (is_null($this->birthdate) ? null : (bool) $this->birthdate->is_age_based), diff --git a/app/Http/Resources/Contact/ContactWithContactFields.php b/app/Http/Resources/Contact/ContactWithContactFields.php index e5544769ea6..6a8c7aa8151 100644 --- a/app/Http/Resources/Contact/ContactWithContactFields.php +++ b/app/Http/Resources/Contact/ContactWithContactFields.php @@ -28,6 +28,7 @@ public function toArray($request) 'is_partial' => (bool) $this->is_partial, 'is_active' => (bool) $this->is_active, 'is_dead' => (bool) $this->is_dead, + 'is_me' => $this->id == auth()->user()->me_contact_id, 'last_called' => $this->when(! $this->is_partial, $this->getLastCalled()), 'last_activity_together' => $this->when(! $this->is_partial, $this->getLastActivityDate()), 'stay_in_touch_frequency' => $this->when(! $this->is_partial, $this->stay_in_touch_frequency), diff --git a/app/Models/User/User.php b/app/Models/User/User.php index 366184d7451..1d9d8ec9597 100644 --- a/app/Models/User/User.php +++ b/app/Models/User/User.php @@ -177,6 +177,16 @@ public function account() return $this->belongsTo(Account::class); } + /** + * Get the contact record associated with the 'me' contact. + * + * @return BelongsTo + */ + public function me() + { + return $this->belongsTo(Contact::class, 'me_contact_id'); + } + /** * Get the term records associated with the user. * diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 0815f56a670..9ccf9d45725 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -80,6 +80,7 @@ public function register() \App\Services\Contact\Call\UpdateCall::class => \App\Services\Contact\Call\UpdateCall::class, \App\Services\Contact\Contact\CreateContact::class => \App\Services\Contact\Contact\CreateContact::class, \App\Services\Contact\Contact\DestroyContact::class => \App\Services\Contact\Contact\DestroyContact::class, + \App\Services\Contact\Contact\SetMeContact::class => \App\Services\Contact\Contact\SetMeContact::class, \App\Services\Contact\Contact\UpdateBirthdayInformation::class => \App\Services\Contact\Contact\UpdateBirthdayInformation::class, \App\Services\Contact\Contact\UpdateContact::class => \App\Services\Contact\Contact\UpdateContact::class, \App\Services\Contact\Contact\UpdateDeceasedInformation::class => \App\Services\Contact\Contact\UpdateDeceasedInformation::class, diff --git a/routes/api.php b/routes/api.php index 6d40098dc9a..0846242ba75 100644 --- a/routes/api.php +++ b/routes/api.php @@ -19,6 +19,7 @@ // Contacts Route::apiResource('contacts', 'ApiContactController'); + Route::post('/contacts/{contact}/setMe', 'ApiContactController@setMe'); // Genders Route::apiResource('genders', 'Account\\ApiGenderController'); diff --git a/tests/Api/Contact/ApiContactControllerTest.php b/tests/Api/Contact/ApiContactControllerTest.php index d851564f9ae..12ee41c029e 100644 --- a/tests/Api/Contact/ApiContactControllerTest.php +++ b/tests/Api/Contact/ApiContactControllerTest.php @@ -27,6 +27,7 @@ class ApiContactControllerTest extends ApiTestCase 'is_starred', 'is_partial', 'is_dead', + 'is_me', 'last_called', 'last_activity_together', 'stay_in_touch_frequency', @@ -1352,4 +1353,44 @@ public function test_it_deletes_a_contact() 'id' => $contact->id, ]); } + + public function test_it_sets_me_contact() + { + $user = $this->signin(); + $contact = factory(Contact::class)->create([ + 'account_id' => $user->account_id, + ]); + + $response = $this->json('POST', '/api/contacts/'.$contact->id.'/setMe'); + + $response->assertStatus(200); + + $this->assertDatabaseHas('users', [ + 'account_id' => $user->account_id, + 'me_contact_id' => $contact->id, + ]); + } + + public function test_it_gets_me_contact() + { + $user = $this->signin(); + $contact = factory(Contact::class)->create([ + 'account_id' => $user->account_id, + ]); + $user->me_contact_id = $contact->id; + $user->save(); + + $response = $this->json('GET', '/api/contacts/'.$contact->id); + + $response->assertOk(); + + $response->assertJsonStructure([ + 'data' => $this->jsonStructureContactShort, + ]); + + $response->assertJsonFragment([ + 'id' => $contact->id, + 'is_me' => true, + ]); + } } From 4cf1b29f0ec44919b13fa55de602b54f23a89950 Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 22:32:23 +0200 Subject: [PATCH 04/13] Update UI --- app/Http/Resources/Contact/Contact.php | 2 +- app/Http/Resources/Contact/ContactShort.php | 2 +- .../Resources/Contact/ContactWithContactFields.php | 2 +- app/Models/Contact/Contact.php | 10 ++++++++++ app/Models/User/User.php | 6 ++++-- resources/views/people/_header.blade.php | 4 ++++ resources/views/people/profile.blade.php | 14 +++++++++----- resources/views/people/sidebar.blade.php | 4 ++-- 8 files changed, 32 insertions(+), 12 deletions(-) diff --git a/app/Http/Resources/Contact/Contact.php b/app/Http/Resources/Contact/Contact.php index 90cf3b6f015..e54bb9d837e 100644 --- a/app/Http/Resources/Contact/Contact.php +++ b/app/Http/Resources/Contact/Contact.php @@ -30,7 +30,7 @@ public function toArray($request) 'is_partial' => (bool) $this->is_partial, 'is_active' => (bool) $this->is_active, 'is_dead' => (bool) $this->is_dead, - 'is_me' => $this->id == auth()->user()->me_contact_id, + 'is_me' => $this->isMe(), 'last_called' => $this->when(! $this->is_partial, $this->getLastCalled()), 'last_activity_together' => $this->when(! $this->is_partial, $this->getLastActivityDate()), 'stay_in_touch_frequency' => $this->when(! $this->is_partial, $this->stay_in_touch_frequency), diff --git a/app/Http/Resources/Contact/ContactShort.php b/app/Http/Resources/Contact/ContactShort.php index 6ace4a79d3b..2027165751b 100644 --- a/app/Http/Resources/Contact/ContactShort.php +++ b/app/Http/Resources/Contact/ContactShort.php @@ -27,7 +27,7 @@ public function toArray($request) 'gender_type' => is_null($this->gender) ? null : $this->gender->type, 'is_partial' => (bool) $this->is_partial, 'is_dead' => (bool) $this->is_dead, - 'is_me' => $this->id == auth()->user()->me_contact_id, + 'is_me' => $this->isMe(), 'information' => [ 'birthdate' => [ 'is_age_based' => (is_null($this->birthdate) ? null : (bool) $this->birthdate->is_age_based), diff --git a/app/Http/Resources/Contact/ContactWithContactFields.php b/app/Http/Resources/Contact/ContactWithContactFields.php index 6a8c7aa8151..fe80c5e3b89 100644 --- a/app/Http/Resources/Contact/ContactWithContactFields.php +++ b/app/Http/Resources/Contact/ContactWithContactFields.php @@ -28,7 +28,7 @@ public function toArray($request) 'is_partial' => (bool) $this->is_partial, 'is_active' => (bool) $this->is_active, 'is_dead' => (bool) $this->is_dead, - 'is_me' => $this->id == auth()->user()->me_contact_id, + 'is_me' => $this->isMe(), 'last_called' => $this->when(! $this->is_partial, $this->getLastCalled()), 'last_activity_together' => $this->when(! $this->is_partial, $this->getLastActivityDate()), 'stay_in_touch_frequency' => $this->when(! $this->is_partial, $this->stay_in_touch_frequency), diff --git a/app/Models/Contact/Contact.php b/app/Models/Contact/Contact.php index f9bf4d72e79..e0c6140d4c7 100644 --- a/app/Models/Contact/Contact.php +++ b/app/Models/Contact/Contact.php @@ -418,6 +418,16 @@ public function occupations() return $this->hasMany(Occupation::class); } + /** + * Test if this is the 'me' contact + * + * @return bool + */ + public function isMe() + { + return $this->id == auth()->user()->me_contact_id; + } + /** * Sort the contacts according a given criteria. * @param Builder $builder diff --git a/app/Models/User/User.php b/app/Models/User/User.php index 1d9d8ec9597..f7a9b63ebaf 100644 --- a/app/Models/User/User.php +++ b/app/Models/User/User.php @@ -8,6 +8,7 @@ use App\Models\Settings\Term; use App\Helpers\RequestHelper; use App\Models\Account\Account; +use App\Models\Contact\Contact; use App\Helpers\CountriesHelper; use App\Models\Settings\Currency; use Illuminate\Support\Facades\DB; @@ -17,6 +18,7 @@ use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Validation\UnauthorizedException; +use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Foundation\Auth\User as Authenticatable; @@ -180,11 +182,11 @@ public function account() /** * Get the contact record associated with the 'me' contact. * - * @return BelongsTo + * @return HasOne */ public function me() { - return $this->belongsTo(Contact::class, 'me_contact_id'); + return $this->hasOne(Contact::class, 'id', 'me_contact_id'); } /** diff --git a/resources/views/people/_header.blade.php b/resources/views/people/_header.blade.php index 7f2b686db1d..645f6549a14 100644 --- a/resources/views/people/_header.blade.php +++ b/resources/views/people/_header.blade.php @@ -33,6 +33,7 @@ {{-- LAST ACTIVITY --}} + @if (! $contact->isMe())
  • @include('partials.icons.header_people') @if (is_null($contact->getLastActivityDate())) @@ -41,8 +42,10 @@ {{ trans('people.last_activity_date', ['date' => \App\Helpers\DateHelper::getShortDate($contact->getLastActivityDate())]) }} @endif
  • + @endif {{-- LAST CALLED --}} + @if (! $contact->isMe())
  • @include('partials.icons.header_call') @if (is_null($contact->getLastCalled())) @@ -51,6 +54,7 @@ {{ trans('people.last_called', ['date' => \App\Helpers\DateHelper::getShortDate($contact->getLastCalled())]) }} @endif
  • + @endif {{-- DESCRIPTION --}} @if ($contact->description) diff --git a/resources/views/people/profile.blade.php b/resources/views/people/profile.blade.php index d58b0f949de..1d4cd683b9e 100644 --- a/resources/views/people/profile.blade.php +++ b/resources/views/people/profile.blade.php @@ -81,22 +81,26 @@
    + @if (! $contact->isMe()) @if (auth()->user()->profile_new_life_event_badge_seen == false) {{ trans('app.new') }} @endif {{ trans('people.life_event_list_tab_life_events') }} ({{ $contact->lifeEvents()->count() }}) + @endif {{ trans('people.life_event_list_tab_other') }} Photos
    + @if (! $contact->isMe())
    @include('people.life-events.index')
    + @endif
    @if ($modules->contains('key', 'notes')) @@ -107,19 +111,19 @@
    @endif - @if ($modules->contains('key', 'conversations')) + @if ($modules->contains('key', 'conversations') && ! $contact->isMe())
    @include('people.conversations.index')
    @endif - @if ($modules->contains('key', 'phone_calls')) + @if ($modules->contains('key', 'phone_calls') && ! $contact->isMe())
    @include('people.calls.index')
    @endif - @if ($modules->contains('key', 'activities')) + @if ($modules->contains('key', 'activities') && ! $contact->isMe())
    @include('activities.index')
    @@ -137,13 +141,13 @@ @endif - @if ($modules->contains('key', 'gifts')) + @if ($modules->contains('key', 'gifts') && ! $contact->isMe())
    @include('people.gifts.index')
    @endif - @if ($modules->contains('key', 'debts')) + @if ($modules->contains('key', 'debts') && ! $contact->isMe())
    @include('people.debt.index')
    diff --git a/resources/views/people/sidebar.blade.php b/resources/views/people/sidebar.blade.php index 6eea74d1955..ad611e145fd 100644 --- a/resources/views/people/sidebar.blade.php +++ b/resources/views/people/sidebar.blade.php @@ -14,7 +14,7 @@ @endif {{-- Introductions --}} -@if ($modules->contains('key', 'how_you_met')) +@if ($modules->contains('key', 'how_you_met') && ! $contact->isMe()) @include('people.introductions.index') @endif @@ -24,6 +24,6 @@ @endif {{-- Food preferences --}} -@if ($modules->contains('key', 'food_preferences')) +@if ($modules->contains('key', 'food_preferences') && ! $contact->isMe()) @include('people.food-preferences.index') @endif From 4131f3097a21d96ec76753e37c8b897f5ea190a2 Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 22:32:42 +0200 Subject: [PATCH 05/13] Add me-card carddav property --- .../DAV/Backend/CardDAV/AddressBook.php | 5 ++ .../DAV/Backend/CardDAV/CardDAVBackend.php | 22 +++++- tests/Api/DAV/CardDAVTest.php | 76 +++++++++++++++++++ 3 files changed, 102 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/DAV/Backend/CardDAV/AddressBook.php b/app/Http/Controllers/DAV/Backend/CardDAV/AddressBook.php index bc3061685b9..bd151cb4722 100644 --- a/app/Http/Controllers/DAV/Backend/CardDAV/AddressBook.php +++ b/app/Http/Controllers/DAV/Backend/CardDAV/AddressBook.php @@ -41,6 +41,11 @@ public function getACL() 'principal' => '{DAV:}owner', 'protected' => true, ], + [ + 'privilege' => '{DAV:}write-properties', + 'principal' => '{DAV:}owner', + 'protected' => true, + ], ]; } diff --git a/app/Http/Controllers/DAV/Backend/CardDAV/CardDAVBackend.php b/app/Http/Controllers/DAV/Backend/CardDAV/CardDAVBackend.php index a313618d16d..501a9cf1915 100644 --- a/app/Http/Controllers/DAV/Backend/CardDAV/CardDAVBackend.php +++ b/app/Http/Controllers/DAV/Backend/CardDAV/CardDAVBackend.php @@ -17,6 +17,7 @@ use Sabre\CardDAV\Backend\AbstractBackend; use Sabre\CardDAV\Plugin as CardDAVPlugin; use Sabre\DAV\Sync\Plugin as DAVSyncPlugin; +use App\Services\Contact\Contact\SetMeContact; use App\Http\Controllers\DAV\Backend\IDAVBackend; use App\Http\Controllers\DAV\Backend\SyncDAVBackend; use App\Http\Controllers\DAV\DAVACL\PrincipalBackend; @@ -71,6 +72,13 @@ public function getAddressBooksForUser($principalUri) ]; } + $me = auth()->user()->me; + if ($me) { + $des += [ + '{'.CalDAVPlugin::NS_CALENDARSERVER.'}me-card' => '/'.config('laravelsabre.path').'/addressbooks/'.Auth::user()->email.'/contacts/'.$this->encodeUri($me), + ]; + } + return [ $des, ]; @@ -373,7 +381,19 @@ public function deleteCard($addressBookId, $cardUri) */ public function updateAddressBook($addressBookId, DAV\PropPatch $propPatch) { - return false; + $propPatch->handle('{'.CalDAVPlugin::NS_CALENDARSERVER.'}me-card', function ($props) { + $contact = $this->getObject($props->getHref()); + + $data = [ + 'contact_id' => $contact->id, + 'account_id' => auth()->user()->account->id, + 'user_id' => auth()->user()->id, + ]; + + app(SetMeContact::class)->execute($data); + + return true; + }); } /** diff --git a/tests/Api/DAV/CardDAVTest.php b/tests/Api/DAV/CardDAVTest.php index e524bbb24ff..f79453aaaa3 100644 --- a/tests/Api/DAV/CardDAVTest.php +++ b/tests/Api/DAV/CardDAVTest.php @@ -177,6 +177,82 @@ public function test_carddav_getctag() ); } + public function test_carddav_get_me_card() + { + $user = $this->signin(); + $contact = factory(Contact::class)->create([ + 'account_id' => $user->account->id, + ]); + $user->me_contact_id = $contact->id; + $user->save(); + + $response = $this->call('PROPFIND', "/dav/addressbooks/{$user->email}", [], [], [], + [ + 'HTTP_DEPTH' => '1', + 'content-type' => 'application/xml; charset=utf-8', + ], + " + + + + " + ); + + $response->assertStatus(207); + $response->assertHeader('X-Sabre-Version'); + + $response->assertSee(''. + "/dav/addressbooks/{$user->email}/contacts/". + ''. + ''. + "/dav/addressbooks/{$user->email}/contacts/{$contact->uuid}.vcf". + ''. + 'HTTP/1.1 200 OK'. + ''. + '' + ); + } + + public function test_carddav_set_me_card() + { + $user = $this->signin(); + $contact = factory(Contact::class)->create([ + 'account_id' => $user->account->id, + ]); + + $response = $this->call('PROPPATCH', "/dav/addressbooks/{$user->email}/contacts", [], [], [], + [ + 'content-type' => 'application/xml; charset=utf-8', + ], + " + + + + /dav/addressbooks/{$user->email}/contacts/{$contact->uuid}.vcf + + + + " + ); + + $response->assertSee(''); + $response->assertSee(''. + "/dav/addressbooks/{$user->email}/contacts". + ''. + ''. + ''. + ''. + 'HTTP/1.1 200 OK'. + ''. + '' + ); + + $this->assertDatabaseHas('users', [ + 'id' => $user->id, + 'me_contact_id' => $contact->id, + ]); + } + public function test_carddav_getctag_contacts() { $user = $this->signin(); From 275dd66508cc8ae346058f58820ecb37e7e8c06d Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 22:58:55 +0200 Subject: [PATCH 06/13] fix htaccess --- public/.htaccess | 3 +++ 1 file changed, 3 insertions(+) diff --git a/public/.htaccess b/public/.htaccess index 98b6d93dee1..631d10e8df5 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -11,8 +11,11 @@ # Redirect .well-known urls (https://en.wikipedia.org/wiki/List_of_/.well-known/_services_offered_by_webservers) RewriteCond %{REQUEST_URI} .well-known/carddav + RewriteRule ^ /dav/ [L,R=301] + RewriteCond %{REQUEST_URI} .well-known/caldav RewriteRule ^ /dav/ [L,R=301] + RewriteCond %{REQUEST_URI} .well-known/security.txt RewriteRule ^ /security.txt [L,R=301] # old carddav url From 6c25a80c6ab5db366adf95b7a409c7818b98203d Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 20:59:35 +0000 Subject: [PATCH 07/13] Apply fixes from StyleCI --- app/Http/Controllers/Api/ApiContactController.php | 2 +- app/Models/Contact/Contact.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/ApiContactController.php b/app/Http/Controllers/Api/ApiContactController.php index 61c0c043b2f..65d3771f24b 100644 --- a/app/Http/Controllers/Api/ApiContactController.php +++ b/app/Http/Controllers/Api/ApiContactController.php @@ -7,8 +7,8 @@ use App\Models\Contact\Contact; use Illuminate\Support\Collection; use Illuminate\Database\QueryException; -use Illuminate\Validation\ValidationException; use App\Services\Contact\Contact\SetMeContact; +use Illuminate\Validation\ValidationException; use App\Services\Contact\Contact\CreateContact; use App\Services\Contact\Contact\UpdateContact; use App\Services\Contact\Contact\DestroyContact; diff --git a/app/Models/Contact/Contact.php b/app/Models/Contact/Contact.php index e0c6140d4c7..81d9a49dfae 100644 --- a/app/Models/Contact/Contact.php +++ b/app/Models/Contact/Contact.php @@ -419,7 +419,7 @@ public function occupations() } /** - * Test if this is the 'me' contact + * Test if this is the 'me' contact. * * @return bool */ From 02b99861f70e7a54ca50ac502dda8c2635dcc728 Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Tue, 13 Aug 2019 23:00:29 +0200 Subject: [PATCH 08/13] fix --- app/Services/Contact/Contact/SetMeContact.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/Contact/Contact/SetMeContact.php b/app/Services/Contact/Contact/SetMeContact.php index aee1afebf20..5b5fc8bf199 100644 --- a/app/Services/Contact/Contact/SetMeContact.php +++ b/app/Services/Contact/Contact/SetMeContact.php @@ -2,7 +2,7 @@ namespace App\Services\Contact\Contact; -use App\Models\User\USer; +use App\Models\User\User; use App\Services\BaseService; use App\Models\Contact\Contact; From 9935b4d6d4bf4f978b7465aa186e452c59a98866 Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Sat, 17 Aug 2019 10:01:17 +0200 Subject: [PATCH 09/13] Add limitations --- app/Http/Controllers/Api/ApiContactController.php | 13 ++++++++++++- app/Services/Contact/Contact/SetMeContact.php | 4 ++++ resources/lang/en/people.php | 1 + resources/views/people/_header.blade.php | 3 +++ routes/api.php | 2 +- tests/Api/Contact/ApiContactControllerTest.php | 2 +- 6 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/ApiContactController.php b/app/Http/Controllers/Api/ApiContactController.php index 65d3771f24b..c5747f81237 100644 --- a/app/Http/Controllers/Api/ApiContactController.php +++ b/app/Http/Controllers/Api/ApiContactController.php @@ -18,6 +18,16 @@ class ApiContactController extends ApiController { + /** + * Instantiate a new controller instance. + * + * @return void + */ + public function __construct() + { + $this->middleware('limitations')->only('setMe'); + } + /** * Get the list of the contacts. * We will only retrieve the contacts that are "real", not the partials @@ -192,8 +202,9 @@ public function setMe(Request $request, $contactId) 'account_id' => auth()->user()->account->id, 'user_id' => auth()->user()->id, ]; + app(SetMeContact::class)->execute($data); - return 'true'; + return $this->respond('true'); } } diff --git a/app/Services/Contact/Contact/SetMeContact.php b/app/Services/Contact/Contact/SetMeContact.php index 5b5fc8bf199..aac39457ea7 100644 --- a/app/Services/Contact/Contact/SetMeContact.php +++ b/app/Services/Contact/Contact/SetMeContact.php @@ -34,6 +34,10 @@ public function execute(array $data) : User $user = User::where('account_id', $data['account_id']) ->findOrFail($data['user_id']); + + if ($user->account->hasLimitations()) { + abort(402); + } $contact = Contact::where('account_id', $data['account_id']) ->findOrFail($data['contact_id']); diff --git a/resources/lang/en/people.php b/resources/lang/en/people.php index 574d17908de..884c5e8675c 100644 --- a/resources/lang/en/people.php +++ b/resources/lang/en/people.php @@ -64,6 +64,7 @@ 'list_link_to_archived_contacts' => 'List of archived contacts', // Header + 'me' => 'This is you', 'edit_contact_information' => 'Edit contact information', 'contact_archive' => 'Archive contact', 'contact_unarchive' => 'Unarchive contact', diff --git a/resources/views/people/_header.blade.php b/resources/views/people/_header.blade.php index 645f6549a14..af564de46f9 100644 --- a/resources/views/people/_header.blade.php +++ b/resources/views/people/_header.blade.php @@ -1,4 +1,7 @@
    +
    + {{ trans('people.me') }} +
    {{-- AVATAR --}} diff --git a/routes/api.php b/routes/api.php index 0846242ba75..4f4ce4ce306 100644 --- a/routes/api.php +++ b/routes/api.php @@ -19,7 +19,7 @@ // Contacts Route::apiResource('contacts', 'ApiContactController'); - Route::post('/contacts/{contact}/setMe', 'ApiContactController@setMe'); + Route::put('/contacts/{contact}/setMe', 'ApiContactController@setMe'); // Genders Route::apiResource('genders', 'Account\\ApiGenderController'); diff --git a/tests/Api/Contact/ApiContactControllerTest.php b/tests/Api/Contact/ApiContactControllerTest.php index 12ee41c029e..1c8c0868745 100644 --- a/tests/Api/Contact/ApiContactControllerTest.php +++ b/tests/Api/Contact/ApiContactControllerTest.php @@ -1361,7 +1361,7 @@ public function test_it_sets_me_contact() 'account_id' => $user->account_id, ]); - $response = $this->json('POST', '/api/contacts/'.$contact->id.'/setMe'); + $response = $this->json('PUT', '/api/contacts/'.$contact->id.'/setMe'); $response->assertStatus(200); From 265ab045dcbc038378670d7b490dc447cfb17b7f Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Sat, 17 Aug 2019 08:01:56 +0000 Subject: [PATCH 10/13] Apply fixes from StyleCI --- app/Services/Contact/Contact/SetMeContact.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Services/Contact/Contact/SetMeContact.php b/app/Services/Contact/Contact/SetMeContact.php index aac39457ea7..1942ad1ea4e 100644 --- a/app/Services/Contact/Contact/SetMeContact.php +++ b/app/Services/Contact/Contact/SetMeContact.php @@ -34,7 +34,7 @@ public function execute(array $data) : User $user = User::where('account_id', $data['account_id']) ->findOrFail($data['user_id']); - + if ($user->account->hasLimitations()) { abort(402); } From 71d134cfe23e2ce32d0f6dc1ac708a73b8e09f99 Mon Sep 17 00:00:00 2001 From: Alexis Saettler Date: Sat, 17 Aug 2019 10:08:00 +0200 Subject: [PATCH 11/13] Fix api --- app/Http/Controllers/Api/ApiContactController.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/ApiContactController.php b/app/Http/Controllers/Api/ApiContactController.php index c5747f81237..8b28ec79d61 100644 --- a/app/Http/Controllers/Api/ApiContactController.php +++ b/app/Http/Controllers/Api/ApiContactController.php @@ -26,6 +26,7 @@ class ApiContactController extends ApiController public function __construct() { $this->middleware('limitations')->only('setMe'); + parent::__construct(); } /** @@ -205,6 +206,6 @@ public function setMe(Request $request, $contactId) app(SetMeContact::class)->execute($data); - return $this->respond('true'); + return $this->respond(['true']); } } From 29e0ba4504857b642f5e36658d5cd42eef873d29 Mon Sep 17 00:00:00 2001 From: MonicaBot Date: Sat, 17 Aug 2019 08:12:35 +0000 Subject: [PATCH 12/13] chore(assets): Update assets --- public/js/langs/en.json | 2 +- public/js/vendor.js | 2 +- public/mix-manifest.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/js/langs/en.json b/public/js/langs/en.json index 45fd549c209..ef30c707c3c 100644 --- a/public/js/langs/en.json +++ b/public/js/langs/en.json @@ -1 +1 @@ -{"app":{"add":"Add","another_day":"another day","application_description":"Monica is a tool to manage your interactions with your loved ones, friends and family.","application_og_title":"Have better relations with your loved ones. Free Online CRM for friends and family.","application_title":"Monica \u2013 personal relationship manager","back":"Back","breadcrumb_add_note":"Add a note","breadcrumb_add_significant_other":"Add significant other","breadcrumb_api":"API","breadcrumb_archived_contacts":"Archived contacts","breadcrumb_dashboard":"Dashboard","breadcrumb_dav":"DAV Resources","breadcrumb_edit_introductions":"How did you meet","breadcrumb_edit_note":"Edit a note","breadcrumb_edit_significant_other":"Edit significant other","breadcrumb_journal":"Journal","breadcrumb_list_contacts":"List of people","breadcrumb_profile":"Profile of :name","breadcrumb_settings":"Settings","breadcrumb_settings_export":"Export","breadcrumb_settings_import":"Import","breadcrumb_settings_import_report":"Import report","breadcrumb_settings_import_upload":"Upload","breadcrumb_settings_personalization":"Personalization","breadcrumb_settings_security":"Security","breadcrumb_settings_security_2fa":"Two Factor Authentication","breadcrumb_settings_subscriptions":"Subscription","breadcrumb_settings_tags":"Tags","breadcrumb_settings_users":"Users","breadcrumb_settings_users_add":"Add a user","cancel":"Cancel","close":"Close","compliance_desc":"We have changed our Terms of Use<\/a> and Privacy Policy<\/a>. By law we have to ask you to review them and accept them so you can continue to use your account.","compliance_desc_end":"We don\u2019t do anything nasty with your data or account and will never do.","compliance_terms":"Accept new terms and privacy policy","compliance_title":"Sorry for the interruption.","copy":"Copy","create":"Create","date":"Date","dav_birthdays":"Birthdays","dav_birthdays_description":":name\u2019s contact\u2019s birthdays","dav_contacts":"Contacts","dav_contacts_description":":name\u2019s contacts","dav_tasks":"Tasks","dav_tasks_description":":name\u2019s tasks","days":"day|days","default_save_success":"The data has been saved.","delete":"Delete","delete_confirm":"Sure?","done":"Done","download":"Download","edit":"Edit","emotion_adoration":"Adoration","emotion_affection":"Affection","emotion_aggravation":"Aggravation","emotion_agitation":"Agitation","emotion_agony":"Agony","emotion_alarm":"Alarm","emotion_alienation":"Alienation","emotion_amazement":"Amazement","emotion_amusement":"Amusement","emotion_anger":"Anger","emotion_anguish":"Anguish","emotion_annoyance":"Annoyance","emotion_anxiety":"Anxiety","emotion_apprehension":"Apprehension","emotion_arousal":"Arousal","emotion_astonishment":"Astonishment","emotion_attraction":"Attraction","emotion_bitterness":"Bitterness","emotion_bliss":"Bliss","emotion_caring":"Caring","emotion_cheerfulness":"Cheerfulness","emotion_compassion":"Compassion","emotion_contempt":"Contempt","emotion_contentment":"Contentment","emotion_defeat":"Defeat","emotion_dejection":"Dejection","emotion_delight":"Delight","emotion_depression":"Depression","emotion_desire":"Desire","emotion_despair":"Despair","emotion_disappointment":"Disappointment","emotion_disgust":"Disgust","emotion_dislike":"Dislike","emotion_dismay":"Dismay","emotion_displeasure":"Displeasure","emotion_distress":"Distress","emotion_dread":"Dread","emotion_eagerness":"Eagerness","emotion_ecstasy":"Ecstasy","emotion_elation":"Elation","emotion_embarrassment":"Embarrassment","emotion_enjoyment":"Enjoyment","emotion_enthrallment":"Enthrallment","emotion_enthusiasm":"Enthusiasm","emotion_envy":"Envy","emotion_euphoria":"Euphoria","emotion_exasperation":"Exasperation","emotion_excitement":"Excitement","emotion_exhilaration":"Exhilaration","emotion_fear":"Fear","emotion_ferocity":"Ferocity","emotion_fondness":"Fondness","emotion_fright":"Fright","emotion_frustration":"Frustration","emotion_fury":"Fury","emotion_gaiety":"Gaiety","emotion_gladness":"Gladness","emotion_glee":"Glee","emotion_gloom":"Gloom","emotion_glumness":"Glumness","emotion_grief":"Grief","emotion_grouchiness":"Grouchiness","emotion_grumpiness":"Grumpiness","emotion_guilt":"Guilt","emotion_happiness":"Happiness","emotion_hate":"Hate","emotion_homesickness":"Homesickness","emotion_hope":"Hope","emotion_hopelessness":"Hopelessness","emotion_horror":"Horror","emotion_hostility":"Hostility","emotion_humiliation":"Humiliation","emotion_hurt":"Hurt","emotion_hysteria":"Hysteria","emotion_infatuation":"Infatuation","emotion_insecurity":"Insecurity","emotion_insult":"Insult","emotion_irritation":"Irritation","emotion_isolation":"Isolation","emotion_jealousy":"Jealousy","emotion_jolliness":"Jolliness","emotion_joviality":"Joviality","emotion_joy":"Joy","emotion_jubilation":"Jubilation","emotion_liking":"Liking","emotion_loathing":"Loathing","emotion_loneliness":"Loneliness","emotion_longing":"Longing","emotion_love":"Love","emotion_lust":"Lust","emotion_melancholy":"Melancholy","emotion_misery":"Misery","emotion_mortification":"Mortification","emotion_neglect":"Neglect","emotion_nervousness":"Nervousness","emotion_optimism":"Optimism","emotion_outrage":"Outrage","emotion_panic":"Panic","emotion_passion":"Passion","emotion_pity":"Pity","emotion_pleasure":"Pleasure","emotion_pride":"Pride","emotion_primary_anger":"Anger","emotion_primary_fear":"Fear","emotion_primary_joy":"Joy","emotion_primary_love":"Love","emotion_primary_sadness":"Sadness","emotion_primary_surprise":"Surprise","emotion_rage":"Rage","emotion_rapture":"Rapture","emotion_regret":"Regret","emotion_rejection":"Rejection","emotion_relief":"Relief","emotion_remorse":"Remorse","emotion_resentment":"Resentment","emotion_revulsion":"Revulsion","emotion_sadness":"Sadness","emotion_satisfaction":"Satisfaction","emotion_scorn":"Scorn","emotion_secondary_affection":"Affection","emotion_secondary_cheerfulness":"Cheerfulness","emotion_secondary_contentment":"Contentment","emotion_secondary_disappointment":"Disappointment","emotion_secondary_disgust":"Disgust","emotion_secondary_enthrallment":"Enthrallment","emotion_secondary_envy":"Envy","emotion_secondary_exasperation":"Exasperation","emotion_secondary_horror":"Horror","emotion_secondary_irritation":"Irritation","emotion_secondary_longing":"Longing","emotion_secondary_lust":"Lust","emotion_secondary_neglect":"Neglect","emotion_secondary_nervousness":"Nervousness","emotion_secondary_optimism":"Optimism","emotion_secondary_pride":"Pride","emotion_secondary_rage":"Rage","emotion_secondary_relief":"Relief","emotion_secondary_sadness":"Sadness","emotion_secondary_shame":"Shame","emotion_secondary_suffering":"Suffering","emotion_secondary_surprise":"Surprise","emotion_secondary_sympathy":"Sympathy","emotion_secondary_zest":"Zest","emotion_sentimentality":"Sentimentality","emotion_shame":"Shame","emotion_shock":"Shock","emotion_sorrow":"Sorrow","emotion_spite":"Spite","emotion_suffering":"Suffering","emotion_surprise":"Surprise","emotion_sympathy":"Sympathy","emotion_tenderness":"Tenderness","emotion_tenseness":"Tenseness","emotion_terror":"Terror","emotion_thrill":"Thrill","emotion_uneasiness":"Uneasiness","emotion_unhappiness":"Unhappiness","emotion_vengefulness":"Vengefulness","emotion_woe":"Woe","emotion_worry":"Worry","emotion_wrath":"Wrath","emotion_zeal":"Zeal","emotion_zest":"Zest","error_help":"We\u2019ll be right back.","error_id":"Error ID: :id","error_maintenance":"Maintenance in progress. Be right back.","error_save":"We had an error trying to save the data.","error_title":"Whoops! Something went wrong.","error_try_again":"Something went wrong. Please try again.","error_twitter":"Follow our Twitter account<\/a> to be alerted when it\u2019s up again.","error_unauthorized":"You don\u2019t have the right to edit this resource.","error_unavailable":"Service Unavailable","footer_modal_version_release_away":"You are 1 release behind the latest version available. You should update your instance.|You are :number releases behind the latest version available. You should update your instance.","footer_modal_version_whats_new":"What\u2019s new","footer_new_version":"A new version is available","footer_newsletter":"Newsletter","footer_privacy":"Privacy policy","footer_release":"Release notes","footer_remarks":"Any remarks?","footer_send_email":"Send me an email","footer_source_code":"Contribute","footer_version":"Version: :version","for":"for","gender_female":"Woman","gender_male":"Man","gender_no_gender":"No gender","gender_none":"Rather not say","go_back":"Go back","header_changelog_link":"Product changes","header_logout_link":"Logout","header_settings_link":"Settings","load_more":"Load more","loading":"Loading...","main_nav_activities":"Activities","main_nav_cta":"Add people","main_nav_dashboard":"Dashboard","main_nav_family":"Contacts","main_nav_journal":"Journal","main_nav_tasks":"Tasks","markdown_description":"Want to format your text in a nice way? We support Markdown to add bold, italic, lists and more.","markdown_link":"Read documentation","new":"new","no":"No","percent_uploaded":"{percent}% uploaded","relationship_type_bestfriend":"best friend","relationship_type_bestfriend_female":"best friend","relationship_type_bestfriend_female_with_name":":name\u2019s best friend","relationship_type_bestfriend_with_name":":name\u2019s best friend","relationship_type_boss":"boss","relationship_type_boss_female":"boss","relationship_type_boss_female_with_name":":name\u2019s boss","relationship_type_boss_with_name":":name\u2019s boss","relationship_type_child":"son","relationship_type_child_female":"daughter","relationship_type_child_female_with_name":":name\u2019s daughter","relationship_type_child_with_name":":name\u2019s son","relationship_type_colleague":"colleague","relationship_type_colleague_female":"colleague","relationship_type_colleague_female_with_name":":name\u2019s colleague","relationship_type_colleague_with_name":":name\u2019s colleague","relationship_type_cousin":"cousin","relationship_type_cousin_female":"cousin","relationship_type_cousin_female_with_name":":name\u2019s cousin","relationship_type_cousin_with_name":":name\u2019s cousin","relationship_type_date":"date","relationship_type_date_female":"date","relationship_type_date_female_with_name":":name\u2019s date","relationship_type_date_with_name":":name\u2019s date","relationship_type_ex":"ex-boyfriend","relationship_type_ex_female":"ex-girlfriend","relationship_type_ex_female_with_name":":name\u2019s ex-girlfriend","relationship_type_ex_husband":"ex husband","relationship_type_ex_husband_female":"ex wife","relationship_type_ex_husband_female_with_name":":name\u2019s ex wife","relationship_type_ex_husband_with_name":":name\u2019s ex husband","relationship_type_ex_with_name":":name\u2019s ex-boyfriend","relationship_type_friend":"friend","relationship_type_friend_female":"friend","relationship_type_friend_female_with_name":":name\u2019s friend","relationship_type_friend_with_name":":name\u2019s friend","relationship_type_godfather":"godfather","relationship_type_godfather_female":"godmother","relationship_type_godfather_female_with_name":":name\u2019s godmother","relationship_type_godfather_with_name":":name\u2019s godfather","relationship_type_godson":"godson","relationship_type_godson_female":"goddaughter","relationship_type_godson_female_with_name":":name\u2019s goddaughter","relationship_type_godson_with_name":":name\u2019s godson","relationship_type_grandchild":"grand child","relationship_type_grandchild_female":"grand child","relationship_type_grandchild_female_with_name":":name\u2019s grand child","relationship_type_grandchild_with_name":":name\u2019s grand child","relationship_type_grandparent":"grand parent","relationship_type_grandparent_female":"grand parent","relationship_type_grandparent_female_with_name":":name\u2019s grand parent","relationship_type_grandparent_with_name":":name\u2019s grand parent","relationship_type_group_family":"Family relationships","relationship_type_group_friend":"Friend relationships","relationship_type_group_love":"Love relationships","relationship_type_group_other":"Other kind of relationships","relationship_type_group_work":"Work relationships","relationship_type_inlovewith":"in love with","relationship_type_inlovewith_female":"in love with","relationship_type_inlovewith_female_with_name":"someone :name is in love with","relationship_type_inlovewith_with_name":"someone :name is in love with","relationship_type_lovedby":"loved by","relationship_type_lovedby_female":"loved by","relationship_type_lovedby_female_with_name":":name\u2019s secret lover","relationship_type_lovedby_with_name":":name\u2019s secret lover","relationship_type_lover":"lover","relationship_type_lover_female":"lover","relationship_type_lover_female_with_name":":name\u2019s lover","relationship_type_lover_with_name":":name\u2019s lover","relationship_type_mentor":"mentor","relationship_type_mentor_female":"mentor","relationship_type_mentor_female_with_name":":name\u2019s mentor","relationship_type_mentor_with_name":":name\u2019s mentor","relationship_type_nephew":"nephew","relationship_type_nephew_female":"niece","relationship_type_nephew_female_with_name":":name\u2019s niece","relationship_type_nephew_with_name":":name\u2019s nephew","relationship_type_parent":"father","relationship_type_parent_female":"mother","relationship_type_parent_female_with_name":":name\u2019s mother","relationship_type_parent_with_name":":name\u2019s father","relationship_type_partner":"significant other","relationship_type_partner_female":"significant other","relationship_type_partner_female_with_name":":name\u2019s significant other","relationship_type_partner_with_name":":name\u2019s significant other","relationship_type_protege":"protege","relationship_type_protege_female":"protege","relationship_type_protege_female_with_name":":name\u2019s protege","relationship_type_protege_with_name":":name\u2019s protege","relationship_type_sibling":"brother","relationship_type_sibling_female":"sister","relationship_type_sibling_female_with_name":":name\u2019s sister","relationship_type_sibling_with_name":":name\u2019s brother","relationship_type_spouse":"spouse","relationship_type_spouse_female":"spouse","relationship_type_spouse_female_with_name":":name\u2019s spouse","relationship_type_spouse_with_name":":name\u2019s spouse","relationship_type_stepchild":"stepson","relationship_type_stepchild_female":"stepdaughter","relationship_type_stepchild_female_with_name":":name\u2019s stepdaughter","relationship_type_stepchild_with_name":":name\u2019s stepson","relationship_type_stepparent":"stepfather","relationship_type_stepparent_female":"stepmother","relationship_type_stepparent_female_with_name":":name\u2019s stepmother","relationship_type_stepparent_with_name":":name\u2019s stepfather","relationship_type_subordinate":"subordinate","relationship_type_subordinate_female":"subordinate","relationship_type_subordinate_female_with_name":":name\u2019s subordinate","relationship_type_subordinate_with_name":":name\u2019s subordinate","relationship_type_uncle":"uncle","relationship_type_uncle_female":"aunt","relationship_type_uncle_female_with_name":":name\u2019s aunt","relationship_type_uncle_with_name":":name\u2019s uncle","remove":"Remove","retry":"Retry","revoke":"Revoke","save":"Save","save_close":"Save and close","today":"today","type":"Type","unknown":"I don\u2019t know","update":"Update","upgrade":"Upgrade to unlock","upload":"Upload","verify":"Verify","weather_clear-day":"Clear day","weather_clear-night":"Clear night","weather_cloudy":"Cloudy","weather_current_temperature_celsius":":temperature \u00b0C","weather_current_temperature_fahrenheit":":temperature \u00b0F","weather_current_title":"Current weather","weather_fog":"Fog","weather_partly-cloudy-day":"Partly cloudy day","weather_partly-cloudy-night":"Partly cloudy night","weather_rain":"Rain","weather_sleet":"Sleet","weather_snow":"Snow","weather_wind":"Wind","with":"with","yes":"Yes","yesterday":"yesterday","zoom":"Zoom"},"auth":{"2fa_one_time_password":"Two factor authentication code","2fa_otp_help":"Open up your two factor authentication mobile app and copy the code","2fa_recuperation_code":"Enter a two factor recovery code","2fa_title":"Two Factor Authentication","2fa_wrong_validation":"The two factor authentication has failed.","back_homepage":"Back to homepage","button_remember":"Remember Me","change_language":"Change language to :lang","change_language_title":"Change language:","confirmation_again":"If you want to change your email address you can click here<\/a>.","confirmation_check":"Before proceeding, please check your email for a verification link.","confirmation_fresh":"A fresh verification link has been sent to your email address.","confirmation_request_another":"If you did not receive the email click here to request another<\/a>.","confirmation_title":"Verify Your Email Address","create_account":"Create the first account by signing up<\/a>","email":"Email","email_change_current_email":"Current email address:","email_change_new":"New email address","email_change_title":"Change your email address","email_changed":"Your email address has been changed. Check your mailbox to validate it.","failed":"These credentials do not match our records.","login":"Login","login_again":"Please login again to your account","login_to_account":"Login to your account","login_with_recovery":"Login with a recovery code","mfa_auth_otp":"Authenticate with your two factor device","mfa_auth_u2f":"Authenticate with a U2F device","mfa_auth_webauthn":"Authenticate with a security key (WebAuthn)","not_authorized":"You are not authorized to execute this action","password":"Password","password_forget":"Forget your password?","password_reset":"Reset your password","password_reset_action":"Reset Password","password_reset_email":"E-Mail Address","password_reset_email_content":"Click here to reset your password:","password_reset_password":"Password","password_reset_password_confirm":"Confirm Password","password_reset_send_link":"Send Password Reset Link","password_reset_title":"Reset Password","recovery":"Recovery code","register_action":"Register","register_create_account":"You need to create an account to use Monica","register_email":"Enter a valid email address","register_email_example":"you@home","register_firstname":"First name","register_firstname_example":"eg. John","register_invitation_email":"For security purposes, please indicate the email of the person who\u2019ve invited you to join this account. This information is provided in the invitation email.","register_lastname":"Last name","register_lastname_example":"eg. Doe","register_login":"Log in<\/a> if you already have an account.","register_password":"Password","register_password_confirmation":"Password confirmation","register_password_example":"Enter a secure password","register_policy":"Signing up signifies you\u2019ve read and agree to our Privacy Policy<\/a> and Terms of use<\/a>.","register_title_create":"Create your Monica account","register_title_welcome":"Welcome to your newly installed Monica instance","signup":"Sign up","signup_disabled":"Registration is currently disabled","signup_no_account":"Don\u2019t have an account?","throttle":"Too many login attempts. Please try again in :seconds seconds.","u2f_otp_extension":"U2F is supported natively on Chrome, Firefox<\/a> and Opera. On old Firefox versions, install the U2F Support Add-on<\/a>.","use_recovery":"Or you can use a recovery code<\/a>"},"changelog":{"note":"Note: unfortunately, this page is only in English.","title":"Product changes"},"dashboard":{"dashboard_blank_cta":"Add your first contact","dashboard_blank_description":"Monica is the place to organize all the interactions you have with the ones you care about.","dashboard_blank_illustration":"Illustration by Freepik<\/a>","dashboard_blank_title":"Welcome to your account!","debts_you_owe":"You owe","notes_title":"You don\u2019t have any starred notes yet.","product_changes":"Product changes","product_view_details":"View details","reminders_next_months":"Events in the next 3 months","reminders_none":"No reminder for this month","statistics_activities":"Activities","statistics_contacts":"Contacts","statistics_gifts":"Gifts","tab_calls_blank":"You haven\u2019t logged a call yet.","tab_debts":"Debts","tab_debts_blank":"You haven\u2019t logged any debt yet.","tab_favorite_notes":"Favorite notes","tab_recent_calls":"Recent calls","tab_tasks":"Tasks","tab_tasks_blank":"You haven\u2019t any task yet.","task_add_cta":"Add a task","tasks_add_note":"Press Enter<\/kbd> to add the task.","tasks_add_task_placeholder":"What is this task about?","tasks_tab_your_contacts":"Tasks related to your contacts","tasks_tab_your_tasks":"Your tasks"},"format":{"full_date_year":"F d, Y","full_hour":"h.i A","full_month":"F","full_month_year":"F Y","short_date":"M d","short_date_year":"M d, Y","short_date_year_time":"M d, Y H:i","short_day":"D","short_month":"M","short_month_year":"M Y","short_text":"{text}\u2026"},"journal":{"delete_confirmation":"Are you sure you want to delete this journal entry?","entry_delete_success":"The journal entry has been successfully deleted.","journal_add":"Add a journal entry","journal_add_comment":"Care to add a comment (optional)?","journal_add_cta":"Save","journal_add_date":"Date","journal_add_post":"Entry","journal_add_title":"Title (optional)","journal_blank_cta":"Add your first journal entry","journal_blank_description":"The journal lets you write events that happened to you, and remember them.","journal_come_back":"Thanks. Come back tomorrow to rate your day again.","journal_created_automatically":"Created automatically","journal_description":"Note: the journal lists both manual journal entries, and automatic entries like Activities done with your contacts. While you can delete journal entries manually, you\u2019ll have to delete the activity directly on the contact page.","journal_entry_rate":"You rated your day.","journal_entry_type_activity":"Activity","journal_entry_type_journal":"Journal entry","journal_rate":"How was your day? You can rate it once a day.","journal_show_comment":"Show comment"},"mail":{"comment":"Comment: :comment","confirmation_email_button":"Verify email address","confirmation_email_intro":"To validate your email click on the button below","confirmation_email_title":"Monica \u2013 Email verification","footer_contact_info":"Add, view, complete, and change information about this contact:","footer_contact_info2":"See :name\u2019s profile","footer_contact_info2_link":"See :name\u2019s profile: :url","for":"For: :name","greetings":"Hi :username","notification_description":"In :count days (on :date), the following event will happen:","notification_subject_line":"You have an upcoming event","notifications_footer":"If you\u2019re having trouble clicking the \":actionText\" button, copy and paste the URL below into your web browser: [:actionURL](:actionURL)","notifications_hello":"Hello!","notifications_regards":"Regards","notifications_rights":"All rights reserved","notifications_whoops":"Whoops!","stay_in_touch_subject_description":"You asked to be reminded to stay in touch with :name every :frequency day.|You asked to be reminded to stay in touch with :name every :frequency days.","stay_in_touch_subject_line":"Stay in touch with :name","subject_line":"Reminder for :contact","want_reminded_of":"You wanted to be reminded of :reason"},"pagination":{"next":"Next \u276f","previous":"\u276e Previous"},"passwords":{"changed":"Password changed successfully.","invalid":"Current password you entered is not correct.","password":"Passwords must be at least six characters and match the confirmation.","reset":"Your password has been reset!","sent":"If the email you entered exists in our records, you\u2019ve been sent a password reset link.","token":"This password reset token is invalid.","user":"If the email you entered exists in our records, you\u2019ve been sent a password reset link."},"people":{"activities_activity":"Activity Category","activities_add_activity":"Add activity","activities_add_cta":"Record activity","activities_add_date_occured":"Date this activity occurred","activities_add_error":"Error when adding the activity","activities_add_optional_comment":"Optional comment","activities_add_pick_activity":"(Optional) Would you like to categorize this activity? You don\u2019t have to, but it will give you statistics later on","activities_add_success":"The activity has been added successfully","activities_add_title":"What did you do with :name?","activities_blank_add_activity":"Add an activity","activities_blank_title":"Keep track of what you\u2019ve done with :name in the past, and what you\u2019ve talked about","activities_delete_confirmation":"Are you sure you want to delete this activity?","activities_delete_success":"The activity has been deleted successfully","activities_hide_details":"Hide details","activities_item_information":":Activity. Happened on :date","activities_more_details":"More details","activities_profile_number_occurences":":value activity|:value activities","activities_profile_subtitle":"You\u2019ve logged :total_activities activity with :name in total and :activities_last_twelve_months in the last 12 months so far.|You\u2019ve logged :total_activities activities with :name in total and :activities_last_twelve_months in the last 12 months so far.","activities_profile_title":"Activities report between :name and you","activities_profile_year_summary":"Here is what you two have done in :year","activities_profile_year_summary_activity_types":"Here is a breakdown of the type of activities you\u2019ve done together in :year","activities_summary":"Describe what you did","activities_update_success":"The activity has been updated successfully","activities_view_activities_report":"View activities report","activities_who_was_involved":"Who was involved?","activity_title":"Activities","activity_type_ate_at_his_place":"ate at their place","activity_type_ate_at_home":"ate at home","activity_type_ate_restaurant":"ate at a restaurant","activity_type_category_cultural_activities":"Cultural activities","activity_type_category_food":"Food","activity_type_category_simple_activities":"Simple activities","activity_type_category_sport":"Sport","activity_type_did_sport_activities_together":"did sport together","activity_type_just_hung_out":"just hung out","activity_type_picknicked":"picknicked","activity_type_talked_at_home":"just talked at home","activity_type_watched_movie_at_home":"watched a movie at home","activity_type_went_bar":"went to a bar","activity_type_went_concert":"went to a concert","activity_type_went_museum":"went to the museum","activity_type_went_play":"went to a play","activity_type_went_theater":"went to the theater","age_approximate_in_years":"around :age years old","age_exact_birthdate":"born :date","age_exact_in_years":":age years old","birthdate_not_set":"Birthdate is not set","call_blank_desc":"You called {name}","call_blank_title":"Keep track of the phone calls you\u2019ve done with {name}","call_button":"Log a call","call_delete_confirmation":"Are you sure you want to delete this call?","call_delete_success":"The call has been deleted successfully","call_emotions":"Emotions:","call_empty_comment":"No details","call_he_called":"{name} called","call_title":"Phone calls","call_you_called":"You called","calls_add_success":"The phone call has been saved.","contact_address_form_city":"City (optional)","contact_address_form_country":"Country (optional)","contact_address_form_latitude":"Latitude (numbers only) (optional)","contact_address_form_longitude":"Longitude (numbers only) (optional)","contact_address_form_name":"Label (optional)","contact_address_form_postal_code":"Postal code (optional)","contact_address_form_province":"Province (optional)","contact_address_form_street":"Street (optional)","contact_address_title":"Addresses","contact_archive":"Archive contact","contact_archive_help":"Archived contacts will not be shown on the contact list, but still appear in search results.","contact_info_address":"Lives in","contact_info_form_contact_type":"Contact type","contact_info_form_content":"Content","contact_info_form_personalize":"Personalize","contact_info_title":"Contact information","contact_unarchive":"Unarchive contact","conversation_add_another":"Add another message","conversation_add_content":"Write down what was said","conversation_add_error":"You must add at least one message.","conversation_add_how":"How did you communicate?","conversation_add_success":"The conversation has been successfully added.","conversation_add_title":"Record a new conversation","conversation_add_what_was_said":"What did you say?","conversation_add_when":"When did you have this conversation?","conversation_add_who_wrote":"Who said this message?","conversation_add_you":"You","conversation_blank":"Record conversations you have with :name on social media, SMS, ...","conversation_delete_link":"Delete the conversation","conversation_delete_success":"The conversation has been successfully deleted.","conversation_edit_delete":"Are you sure you want to delete this conversation? Deletion is permanent.","conversation_edit_success":"The conversation has been successfully updated.","conversation_edit_title":"Edit conversation","conversation_list_cta":"Log conversation","conversation_list_table_content":"Partial content (last message)","conversation_list_table_messages":"Messages","conversation_list_title":"Conversations","debt_add_add_cta":"Add debt","debt_add_amount":"the sum of","debt_add_cta":"Add debt","debt_add_reason":"for the following reason (optional)","debt_add_success":"The debt has been added successfully","debt_add_they_owe":":name owes you","debt_add_title":"Debt management","debt_add_you_owe":"You owe :name","debt_delete_confirmation":"Are you sure you want to delete this debt?","debt_delete_success":"The debt has been deleted successfully","debt_edit_success":"The debt has been updated successfully","debt_edit_update_cta":"Update debt","debt_they_owe":":name owes you :amount","debt_title":"Debts","debt_you_owe":"You owe :amount","debts_blank_title":"Manage debts you owe to :name or :name owes you","deceased_add_reminder":"Add a reminder for this date","deceased_age":"Age at death","deceased_know_date":"I know the date this person died","deceased_label":"Deceased","deceased_label_with_date":"Deceased on :date","deceased_mark_person_deceased":"Mark this person as deceased","deceased_reminder_title":"Anniversary of the death of :name","document_list_blank_desc":"Here you can store documents related to this person.","document_list_cta":"Upload document","document_list_title":"Documents","document_upload_zone_cta":"Upload a file","document_upload_zone_error":"There was an error uploading the document. Please try again below.","document_upload_zone_progress":"Uploading the document...","edit_contact_information":"Edit contact information","emotion_this_made_me_feel":"This made you feel\u2026","food_preferences_add_success":"Food preferences have been saved","food_preferences_cta":"Add food preferences","food_preferences_edit_cta":"Save food preferences","food_preferences_edit_description":"Perhaps :firstname or someone in the :family\u2019s family has an allergy. Or doesn\u2019t like a specific bottle of wine. Indicate them here so you will remember it next time you invite them for dinner","food_preferences_edit_description_no_last_name":"Perhaps :firstname has an allergy. Or doesn\u2019t like a specific bottle of wine. Indicate them here so you will remember it next time you invite them for dinner","food_preferences_edit_title":"Indicate food preferences","food_preferences_title":"Food preferences","gifts_add_comment":"Comment (optional)","gifts_add_gift":"Add a gift","gifts_add_gift_already_offered":"Gift offered","gifts_add_gift_idea":"Gift idea","gifts_add_gift_received":"Gift received","gifts_add_gift_title":"What is this gift?","gifts_add_link":"Link to the web page (optional)","gifts_add_someone":"This gift is for someone in :name\u2019s family in particular","gifts_add_success":"The gift has been added successfully","gifts_add_title":"Gift management for :name","gifts_add_value":"Value (optional)","gifts_delete_confirmation":"Are you sure you want to delete this gift?","gifts_delete_cta":"Delete","gifts_delete_success":"The gift has been deleted successfully","gifts_for":"For:","gifts_ideas":"Gift ideas","gifts_link":"Link","gifts_mark_offered":"Mark as offered","gifts_offered":"Gifts offered","gifts_offered_as_an_idea":"Mark as an idea","gifts_received":"Gifts received","gifts_title":"Gifts","gifts_update_success":"The gift has been updated successfully","gifts_view_comment":"View comment","information_edit_avatar":"Photo\/avatar of the contact","information_edit_description":"Description (Optional)","information_edit_description_help":"Used on the contact list to add some context, if necessary.","information_edit_exact":"I know the exact birthdate of this person...","information_edit_firstname":"First name","information_edit_lastname":"Last name (Optional)","information_edit_max_size":"Max :size Kb.","information_edit_not_year":"I know the day and month of the birthdate of this person, but not the year\u2026","information_edit_probably":"This person is probably...","information_edit_success":"The profile has been updated successfully","information_edit_title":"Edit :name\u2019s personal information","information_edit_unknown":"I do not know this person\u2019s age","information_no_work_defined":"No work information defined","information_work_at":"at :company","introductions_add_reminder":"Add a reminder to celebrate this encounter on the anniversary this event happened","introductions_additional_info":"Explain how and where you met","introductions_blank_cta":"Indicate how you met :name","introductions_edit_met_through":"Has someone introduced you to this person?","introductions_first_met_date":"Date you met","introductions_first_met_date_known":"This is the date we met","introductions_met_date":"Met on :date","introductions_met_through":"Met through :name<\/a>","introductions_no_first_met_date":"I don\u2019t know the date we met","introductions_no_met_through":"No one","introductions_reminder_title":"Anniversary of the day you first met","introductions_sidebar_title":"How you met","introductions_title_edit":"How did you meet :name?","introductions_update_success":"You\u2019ve successfully updated the information about how you met this person","last_activity_date":"Last activity together: :date","last_activity_date_empty":"Last activity together: unknown","last_called":"Last called: :date","last_called_empty":"Last called: unknown","life_event_blank":"Log what happens to the life of {name} for your future reference.","life_event_create_add_yearly_reminder":"Add a yearly reminder for this event","life_event_create_category":"All categories","life_event_create_date":"You do not need to indicate a month or a day - only the year is mandatory.","life_event_create_default_description":"Add information about what you know","life_event_create_default_story":"Story (optional)","life_event_create_default_title":"Title (optional)","life_event_create_life_event":"Add life event","life_event_create_success":"The life event has been added","life_event_date_it_happened":"Date it happened","life_event_delete_description":"Are you sure you want to delete this life event? Deletion is permanent.","life_event_delete_success":"The life event has been deleted","life_event_delete_title":"Delete a life event","life_event_list_cta":"Add life event","life_event_list_tab_life_events":"Life events","life_event_list_tab_other":"Notes, reminders, ...","life_event_list_title":"Life events","life_event_sentence_achievement_or_award":"Got an achievement or award","life_event_sentence_anniversary":"Anniversary","life_event_sentence_bought_a_home":"Bought a home","life_event_sentence_broken_bone":"Broke a bone","life_event_sentence_changed_beliefs":"Changed beliefs","life_event_sentence_dentist":"Went to the dentist","life_event_sentence_end_of_relationship":"Ended a relationship","life_event_sentence_engagement":"Got engaged","life_event_sentence_expecting_a_baby":"Expects a baby","life_event_sentence_first_kiss":"Kissed for the first time","life_event_sentence_first_word":"Spoke for the first time","life_event_sentence_holidays":"Went on holidays","life_event_sentence_home_improvement":"Made a home improvement","life_event_sentence_loss_of_a_loved_one":"Lost a loved one","life_event_sentence_marriage":"Got married","life_event_sentence_military_service":"Started military service","life_event_sentence_moved":"Moved","life_event_sentence_new_child":"Had a child","life_event_sentence_new_eating_habits":"Started new eating habits","life_event_sentence_new_family_member":"Added a family member","life_event_sentence_new_hobby":"Started a hobby","life_event_sentence_new_instrument":"Learned a new instrument","life_event_sentence_new_job":"Started a new job","life_event_sentence_new_language":"Learned a new language","life_event_sentence_new_license":"Got a license","life_event_sentence_new_pet":"Got a pet","life_event_sentence_new_relationship":"Started a relationship","life_event_sentence_new_roommate":"Got a roommate","life_event_sentence_new_school":"Started school","life_event_sentence_new_sport":"Started a sport","life_event_sentence_new_vehicle":"Got a new vehicle","life_event_sentence_overcame_an_illness":"Overcame an illness","life_event_sentence_published_book_or_paper":"Published a paper","life_event_sentence_quit_a_habit":"Quit a habit","life_event_sentence_removed_braces":"Removed braces","life_event_sentence_retirement":"Retired","life_event_sentence_study_abroad":"Studied abroad","life_event_sentence_surgery":"Got a surgery","life_event_sentence_tattoo_or_piercing":"Got a tattoo or piercing","life_event_sentence_travel":"Traveled","life_event_sentence_volunteer_work":"Started volunteering","life_event_sentence_wear_glass_or_contact":"Started to wear glass or contact lenses","life_event_sentence_weight_loss":"Lost weight","list_link_to_active_contacts":"You are viewing archived contacts. See the list of active contacts<\/a> instead.","list_link_to_archived_contacts":"List of archived contacts","modal_call_comment":"What did you talk about? (optional)","modal_call_emotion":"Do you want to log how you felt during this call? (optional)","modal_call_exact_date":"The phone call happened on","modal_call_title":"Log a call","modal_call_who_called":"Who called?","notes_add_cta":"Add note","notes_create_success":"The note has been created successfully","notes_delete_confirmation":"Are you sure you want to delete this note? Deletion is permanent","notes_delete_success":"The note has been deleted successfully","notes_delete_title":"Delete a note","notes_favorite":"Add\/remove from favorites","notes_update_success":"The note has been saved successfully","people_add_birthday_reminder":"Wish happy birthday to :name","people_add_cta":"Add","people_add_firstname":"First name","people_add_gender":"Gender","people_add_import":"Do you want to import your contacts<\/a>?","people_add_lastname":"Last name (Optional)","people_add_middlename":"Middle name (Optional)","people_add_missing":"No Person Found Add New One Now","people_add_new":"Add new person","people_add_nickname":"Nickname (Optional)","people_add_reminder_for_birthday":"Create an annual reminder for the birthday","people_add_success":":name has been successfully created","people_add_title":"Add a new person","people_delete_confirmation":"Are you sure you want to delete this contact? Deletion is permanent.","people_delete_message":"Delete contact","people_delete_success":"The contact has been deleted","people_edit_email_error":"There is already a contact in your account with this email address. Please choose another one.","people_export":"Export as vCard","people_list_account_upgrade_cta":"Upgrade now","people_list_account_upgrade_title":"Upgrade your account to unlock it to its full potential.","people_list_account_usage":"Your account usage: :current\/:limit contacts","people_list_blank_cta":"Add someone","people_list_blank_title":"You don\u2019t have anyone in your account yet","people_list_clear_filter":"Clear filter","people_list_contacts_per_tags":"1 contact|:count contacts","people_list_filter_tag":"Showing all the contacts tagged with","people_list_filter_untag":"Showing all untagged contacts","people_list_firstnameAZ":"Sort by first name A \u2192 Z","people_list_firstnameZA":"Sort by first name Z \u2192 A","people_list_hide_dead":"Hide deceased people (:count)","people_list_last_updated":"Last consulted:","people_list_lastactivitydateNewtoOld":"Sort by last activity date newest to oldest","people_list_lastactivitydateOldtoNew":"Sort by last activity date oldest to newest","people_list_lastnameAZ":"Sort by last name A \u2192 Z","people_list_lastnameZA":"Sort by last name Z \u2192 A","people_list_number_kids":"1 kid|:count kids","people_list_number_reminders":"1 reminder|:count reminders","people_list_show_dead":"Show deceased people (:count)","people_list_sort":"Sort","people_list_stats":"1 contact|:count contacts","people_list_untagged":"View untagged contacts","people_not_found":"Contact not found","people_save_and_add_another_cta":"Submit and add someone else","people_search":"Search your contacts...","people_search_no_results":"No results found","pets_bird":"Bird","pets_cat":"Cat","pets_create_success":"The pet has been successfully added","pets_delete_success":"The pet has been deleted","pets_dog":"Dog","pets_fish":"Fish","pets_hamster":"Hamster","pets_horse":"Horse","pets_kind":"Kind of pet","pets_name":"Name (optional)","pets_other":"Other","pets_rabbit":"Rabbit","pets_rat":"Rat","pets_reptile":"Reptile","pets_small_animal":"Small animal","pets_title":"Pets","pets_update_success":"The pet has been updated","photo_delete":"Delete photo","photo_list_blank_desc":"You can store images about this contact. Upload one now!","photo_list_cta":"Upload photo","photo_list_title":"Related photos","photo_upload_zone_cta":"Upload a photo","relationship_delete_confirmation":"Are you sure you want to delete this relationship? Deletion is permanent.","relationship_form_add":"Add a new relationship","relationship_form_add_choice":"Who is the relationship with?","relationship_form_add_description":"This will let you treat this person like any other contact.","relationship_form_add_no_existing_contact":"You don\u2019t have any contacts who can be related to :name at the moment.","relationship_form_add_success":"The relationship has been successfully set.","relationship_form_also_create_contact":"Create a Contact entry for this person.","relationship_form_associate_contact":"An existing contact","relationship_form_associate_dropdown":"Search and select an existing contact from the dropdown below","relationship_form_associate_dropdown_placeholder":"Search and select an existing contact","relationship_form_create_contact":"Add a new person","relationship_form_deletion_success":"The relationship has been deleted.","relationship_form_edit":"Edit an existing relationship","relationship_form_is_with":"This person is...","relationship_form_is_with_name":":name is...","relationship_unlink_confirmation":"Are you sure you want to delete this relationship? This person will not be deleted \u2013 only the relationship between the two.","reminder_frequency_day":"every day|every :number days","reminder_frequency_month":"every month|every :number months","reminder_frequency_one_time":"on :date","reminder_frequency_week":"every week|every :number weeks","reminder_frequency_year":"every year|every :number year","reminders_add_cta":"Add reminder","reminders_add_description":"Please remind me to...","reminders_add_error_custom_text":"You need to indicate a text for this reminder","reminders_add_next_time":"When is the next time you would like to be reminded about this?","reminders_add_once":"Remind me about this just once","reminders_add_recurrent":"Remind me about this every","reminders_add_starting_from":"starting from the date specified above","reminders_add_title":"What would you like to be reminded of about :name?","reminders_birthday":"Birthday of :name","reminders_blank_add_activity":"Add a reminder","reminders_blank_title":"Is there something you want to be reminded of about :name?","reminders_create_success":"The reminder has been added successfully","reminders_cta":"Add a reminder","reminders_delete_confirmation":"Are you sure you want to delete this reminder?","reminders_delete_cta":"Delete","reminders_delete_success":"The reminder has been deleted successfully","reminders_description":"We will send an email for each one of the reminders below. Reminders are sent every morning the day events will happen. Reminders automatically added for birthdates can not be deleted. If you want to change those dates, edit the birthdate of the contacts.","reminders_edit_update_cta":"Update reminder","reminders_free_plan_warning":"You are on the Free plan. No emails are sent on this plan. To receive your reminders by email, upgrade your account.","reminders_next_expected_date":"on","reminders_one_time":"One time","reminders_type_month":"month","reminders_type_week":"week","reminders_type_year":"year","reminders_update_success":"The reminder has been updated successfully","section_contact_information":"Contact information","section_personal_activities":"Activities","section_personal_gifts":"Gifts","section_personal_notes":"Notes","section_personal_reminders":"Reminders","section_personal_tasks":"Tasks","set_favorite":"Favorite contacts are placed at the top of the contact list","stay_in_touch":"Stay in touch","stay_in_touch_frequency":"Stay in touch every day|Stay in touch every {count} days","stay_in_touch_invalid":"The frequency must be a number greater than 0.","stay_in_touch_modal_desc":"We can remind you by email to keep in touch with {firstname} at a regular interval.","stay_in_touch_modal_label":"Send me an email every...","stay_in_touch_modal_title":"Stay in touch","stay_in_touch_premium":"You need to upgrade your account to make use of this feature","tag_add":"Add tags","tag_add_search":"Add or search tags","tag_edit":"Edit tag","tag_no_tags":"No tags yet","tasks_add_task":"Add a task","tasks_blank_title":"You don\u2019t have any tasks yet.","tasks_complete_success":"The task has changed status successfully","tasks_delete_success":"The task has been deleted successfully","tasks_form_description":"Description (optional)","tasks_form_title":"Title","work_add_cta":"Update work information","work_edit_company":"Company (optional)","work_edit_job":"Job title (optional)","work_edit_success":"Work information have been updated with success","work_edit_title":"Update :name\u2019s job information","work_information":"Work information"},"reminder":{"type_birthday":"Wish happy birthday to","type_birthday_kid":"Wish happy birthday to the kid of","type_email":"Email","type_hangout":"Hangout with","type_lunch":"Lunch with","type_phone_call":"Call"},"settings":{"2fa_disable_description":"Disable Two Factor Authentication for your account. Be careful, your account will not be secured anymore !","2fa_disable_error":"Error when trying to disable Two Factor Authentication","2fa_disable_success":"Two Factor Authentication disabled","2fa_disable_title":"Disable Two Factor Authentication","2fa_enable_description":"Enable Two Factor Authentication to increase security with your account.","2fa_enable_error":"Error when trying to activate Two Factor Authentication","2fa_enable_error_already_set":"Two Factor Authentication is already activated","2fa_enable_otp":"Open up your two factor authentication mobile app and scan the following QR barcode:","2fa_enable_otp_help":"If your two factor authentication mobile app does not support QR barcodes, enter in the following code:","2fa_enable_otp_validate":"Please validate the new device you\u2019ve just set:","2fa_enable_success":"Two Factor Authentication activated","2fa_enable_title":"Enable Two Factor Authentication","2fa_otp_title":"Two Factor Authentication mobile application","2fa_title":"Two Factor Authentication","api_authorized_clients":"List of authorized clients","api_authorized_clients_desc":"This section lists all the clients you\u2019ve authorized to access your application. You can revoke this authorization at anytime.","api_authorized_clients_name":"Name","api_authorized_clients_scopes":"Scopes","api_authorized_clients_title":"Authorized Applications","api_description":"The API can be used to manipulate Monica\u2019s data from an external application, like a mobile application for instance.","api_oauth_clientid":"Client ID","api_oauth_clients":"Your Oauth clients","api_oauth_clients_desc":"This section lets you register your own OAuth clients.","api_oauth_create":"Create Client","api_oauth_create_new":"Create New Client","api_oauth_edit":"Edit Client","api_oauth_name":"Name","api_oauth_name_help":"Something your users will recognize and trust.","api_oauth_not_created":"You have not created any OAuth clients.","api_oauth_redirecturl":"Redirect URL","api_oauth_redirecturl_help":"Your application\u2019s authorization callback URL.","api_oauth_secret":"Secret","api_oauth_title":"Oauth Clients","api_pao_description":"Make sure you give this token to a source you trust \u2013 as they allow you to access all your data.","api_personal_access_tokens":"Personal access tokens","api_title":"API access","api_token_create":"Create Token","api_token_create_new":"Create New Token","api_token_delete":"Delete","api_token_help":"Here is your new personal access token. This is the only time it will be shown so don\u2019t lose it! You may now use this token to make API requests.","api_token_name":"Name","api_token_not_created":"You have not created any personal access tokens.","api_token_scopes":"Scopes","api_token_title":"Personal access token","currency":"Currency","dav_caldav_birthdays_export":"Export all birthdays in one file","dav_caldav_tasks_export":"Export all tasks in one file","dav_carddav_export":"Export all contacts in one file","dav_clipboard_copied":"Value copied into your clipboard","dav_connect_help":"You can connect your contacts and\/or calendars with this base url on you phone or computer.","dav_connect_help2":"Use your login (email) and password, or create an API token to authenticate.","dav_copy_help":"Copy into your clipboard","dav_description":"Here you can find all settings to use WebDAV resources for CardDAV and CalDAV exports.","dav_title":"WebDAV","dav_title_caldav":"CalDAV","dav_title_carddav":"CardDAV","dav_url_base":"Base url for all CardDAV and CalDAV resources:","dav_url_caldav_birthdays":"CalDAV url for Birthdays resources:","dav_url_caldav_tasks":"CalDAV url for Tasks resources:","dav_url_carddav":"CardDAV url for Contacts resource:","delete_cta":"Delete account","delete_desc":"Do you wish to delete your account? Warning: deletion is permanent and all your data will be erased permanently.","delete_notice":"Are you sure to delete your account? There is no turning back.","delete_title":"Delete your account","email":"Email address","email_help":"This is the email used to login, and this is where you\u2019ll receive your reminders.","email_placeholder":"Enter email","export_be_patient":"Click the button to start the export. It might take several minutes to process the export \u2013 please be patient and do not spam the button.","export_sql_cta":"Export to SQL","export_sql_explanation":"Exporting your data in SQL format allows you to take your data and import it to your own Monica instance. This is only valuable if you do have your own server.","export_sql_link_instructions":"Note: read the instructions<\/a> to learn more about importing this file to your instance.","export_title":"Export your account data","export_title_sql":"Export to SQL","firstname":"First name","import_blank_cta":"Import vCard","import_blank_description":"We can import vCard files that you can get from Google Contacts or your Contact manager.","import_blank_question":"Would you like to import contacts now?","import_blank_title":"You haven\u2019t imported any contacts yet.","import_cta":"Upload contacts","import_in_progress":"The import is in progress. Reload the page in one minute.","import_need_subscription":"Importing data requires a subscription.","import_report_date":"Date of the import","import_report_number_contacts":"Number of contacts in the file","import_report_number_contacts_imported":"Number of imported contacts","import_report_number_contacts_skipped":"Number of skipped contacts","import_report_status_imported":"Imported","import_report_status_skipped":"Skipped","import_report_title":"Importing report","import_report_type":"Type of import","import_result_stat":"Uploaded vCard with 1 contact (:total_imported imported, :total_skipped skipped)|Uploaded vCard with :total_contacts contacts (:total_imported imported, :total_skipped skipped)","import_stat":"You\u2019ve imported :number files so far.","import_title":"Import contacts in your account","import_upload_behaviour":"Import behaviour:","import_upload_behaviour_add":"Add new contacts, skip existing","import_upload_behaviour_help":"Note: Replacing will replace all data found in the vCard, but will keep existing contact fields.","import_upload_behaviour_replace":"Replace existing contacts","import_upload_form_file":"Your .vcf<\/code> or .vCard<\/code> file:","import_upload_rule_cant_revert":"Make sure data is accurate before uploading, as you can\u2019t undo the upload.","import_upload_rule_format":"We support .vcard<\/code> and .vcf<\/code> files.","import_upload_rule_instructions":"Export instructions for Contacts.app (macOS)<\/a> and Google Contacts<\/a>.","import_upload_rule_limit":"Files are limited to 10MB.","import_upload_rule_multiple":"For now, if your contacts have multiple email addresses or phone numbers, only the first entry will be picked up.","import_upload_rule_time":"It might take up to 1 minute to upload the contacts and process them. Be patient.","import_upload_rule_vcard":"We support the vCard 3.0 format, which is the default format for Contacts.app (macOS) and Google Contacts.","import_upload_rules_desc":"We do however have some rules:","import_upload_title":"Import your contacts from a vCard file","import_vcard_contact_exist":"Contact already exists","import_vcard_contact_no_firstname":"No firstname (mandatory)","import_vcard_file_no_entries":"File contains no entries","import_vcard_file_not_found":"File not found","import_vcard_parse_error":"Error when parsing the vCard entry","import_vcard_unknown_entry":"Unknown contact name","import_view_report":"View report","lastname":"Last name","layout":"Layout","layout_big":"Full width of the browser","layout_small":"Maximum 1200 pixels wide","locale":"Language used in the app","locale_ar":"Arabic","locale_cs":"Czech","locale_de":"German","locale_en":"English","locale_es":"Spanish","locale_fr":"French","locale_he":"Hebrew","locale_hr":"Croatian","locale_it":"Italian","locale_nl":"Dutch","locale_pt":"Portuguese","locale_pt-BR":"Brazilian","locale_ru":"Russian","locale_tr":"Turkish","locale_zh":"Chinese Simplified","name":"Your name: :name","name_order":"Name order","name_order_firstname_lastname":" - John Doe","name_order_firstname_lastname_nickname":" () - John Doe (Rambo)","name_order_firstname_nickname_lastname":" () - John (Rambo) Doe","name_order_lastname_firstname":" - Doe John","name_order_lastname_firstname_nickname":" () - Doe John (Rambo)","name_order_lastname_nickname_firstname":" () - Doe (Rambo) John","name_order_nickname":" - Rambo","password_btn":"Change password","password_change":"Password change","password_current":"Current password","password_current_placeholder":"Enter your current password","password_new1":"New password","password_new1_placeholder":"Enter a new password","password_new2":"Confirmation","password_new2_placeholder":"Retype the new password","personalisation_paid_upgrade":"This is a premium feature that requires a Paid subscription to be active. Upgrade your account by visiting Settings > Subscription.","personalization_activity_type_add_button":"Add a new activity type","personalization_activity_type_category_add":"Add a new activity type category","personalization_activity_type_category_description":"An activity done with one of your contact can have a type and a category type. Your account comes by default with a set of predefined category types, but you can customize everything here.","personalization_activity_type_category_modal_add":"Add a new activity type category","personalization_activity_type_category_modal_delete":"Delete an activity type category","personalization_activity_type_category_modal_delete_desc":"Are you sure you want to delete this category? Deleting it will delete all associated activity types. However, activities that belong to this category will not be affected by this deletion.","personalization_activity_type_category_modal_delete_error":"We can\u2019t find this activity type category.","personalization_activity_type_category_modal_edit":"Edit an activity type category","personalization_activity_type_category_modal_question":"How should we name this new category?","personalization_activity_type_category_table_actions":"Actions","personalization_activity_type_category_table_name":"Name","personalization_activity_type_category_title":"Activity type categories","personalization_activity_type_modal_add":"Add a new activity type","personalization_activity_type_modal_delete":"Delete an activity type","personalization_activity_type_modal_delete_desc":"Are you sure you want to delete this activity type? Activities that belong to this category will not be affected by this deletion.","personalization_activity_type_modal_delete_error":"We can\u2019t find this activity type.","personalization_activity_type_modal_edit":"Edit an activity type","personalization_activity_type_modal_question":"How should we name this new activity type?","personalization_contact_field_type_add":"Add new field type","personalization_contact_field_type_add_success":"The contact field type has been successfully added.","personalization_contact_field_type_delete_success":"The contact field type has been deleted with success.","personalization_contact_field_type_description":"Here you can configure all the different types of contact fields that you can associate to all your contacts. If in the future, a new social network appears, you will be able to add this new type of ways of contacting your contacts right here.","personalization_contact_field_type_edit_success":"The contact field type has been successfully updated.","personalization_contact_field_type_modal_delete_description":"Are you sure you want to delete this contact field type? Deleting this type of contact field will delete ALL the data with this type for all your contacts.","personalization_contact_field_type_modal_delete_title":"Delete an existing contact field type","personalization_contact_field_type_modal_edit_title":"Edit an existing contact field type","personalization_contact_field_type_modal_icon":"Icon (optional)","personalization_contact_field_type_modal_icon_help":"You can associate an icon with this contact field type. You need to add a reference to a Font Awesome icon.","personalization_contact_field_type_modal_name":"Name","personalization_contact_field_type_modal_protocol":"Protocol (optional)","personalization_contact_field_type_modal_protocol_help":"Each new contact field type can be clickable. If a protocol is set, we will use it to trigger the action that is set.","personalization_contact_field_type_modal_title":"Add a new contact field type","personalization_contact_field_type_table_actions":"Actions","personalization_contact_field_type_table_name":"Name","personalization_contact_field_type_table_protocol":"Protocol","personalization_contact_field_type_title":"Contact field types","personalization_genders_add":"Add new gender type","personalization_genders_default":"Default gender","personalization_genders_desc":"You can define as many genders as you need to. You need at least one gender type in your account.","personalization_genders_f":"Female","personalization_genders_list_contact_number":"{count} contact|{count} contacts","personalization_genders_m":"Male","personalization_genders_make_default":"Change default gender","personalization_genders_modal_add":"Add gender type","personalization_genders_modal_default":"Is this the default gender for a new contact?","personalization_genders_modal_delete":"Delete gender type","personalization_genders_modal_delete_desc":"Are you sure you want to delete {name}?","personalization_genders_modal_delete_question":"You currently have {count} contact that has this gender. If you delete this gender, what gender should this contact have?|You currently have {count} contacts that have this gender. If you delete this gender, what gender should these contacts have?","personalization_genders_modal_delete_question_default":"This gender is the default one. If you delete this gender, which one will be the next default?","personalization_genders_modal_edit":"Update gender type","personalization_genders_modal_error":"Please choose a valid gender from the list.","personalization_genders_modal_name":"Name","personalization_genders_modal_name_help":"The name used to display the gender on a contact page.","personalization_genders_modal_sex":"Sex","personalization_genders_modal_sex_help":"Used to define the relationships, and during the VCard import\/export process.","personalization_genders_n":"None or not applicable","personalization_genders_o":"Other","personalization_genders_select_default":"Select default gender","personalization_genders_table_default":"Default","personalization_genders_table_name":"Name","personalization_genders_table_sex":"Sex","personalization_genders_title":"Gender types","personalization_genders_u":"Unknown","personalization_life_event_category_family_relationships":"Family & relationships","personalization_life_event_category_health_wellness":"Health & wellness","personalization_life_event_category_home_living":"Home & living","personalization_life_event_category_travel_experiences":"Travel & experiences","personalization_life_event_category_work_education":"Work & education","personalization_life_event_type_achievement_or_award":"Achievement or award","personalization_life_event_type_anniversary":"Anniversary","personalization_life_event_type_bought_a_home":"Bought a home","personalization_life_event_type_broken_bone":"Broken bone","personalization_life_event_type_changed_beliefs":"Changed beliefs","personalization_life_event_type_dentist":"Dentist","personalization_life_event_type_end_of_relationship":"End of relationship","personalization_life_event_type_engagement":"Engagement","personalization_life_event_type_expecting_a_baby":"Expecting a baby","personalization_life_event_type_first_kiss":"First kiss","personalization_life_event_type_first_met":"First met","personalization_life_event_type_first_word":"First word","personalization_life_event_type_holidays":"Holidays","personalization_life_event_type_home_improvement":"Home improvement","personalization_life_event_type_loss_of_a_loved_one":"Loss of a loved one","personalization_life_event_type_marriage":"Marriage","personalization_life_event_type_military_service":"Military service","personalization_life_event_type_moved":"Moved","personalization_life_event_type_new_child":"New child","personalization_life_event_type_new_eating_habits":"New eating habits","personalization_life_event_type_new_family_member":"New family member","personalization_life_event_type_new_hobby":"New hobby","personalization_life_event_type_new_instrument":"New instrument","personalization_life_event_type_new_job":"New job","personalization_life_event_type_new_language":"New language","personalization_life_event_type_new_license":"New license","personalization_life_event_type_new_pet":"New pet","personalization_life_event_type_new_relationship":"New relationship","personalization_life_event_type_new_roommate":"New roommate","personalization_life_event_type_new_school":"New school","personalization_life_event_type_new_sport":"New sport","personalization_life_event_type_new_vehicle":"New vehicle","personalization_life_event_type_overcame_an_illness":"Overcame an illness","personalization_life_event_type_published_book_or_paper":"Published a book or paper","personalization_life_event_type_quit_a_habit":"Quit a habit","personalization_life_event_type_removed_braces":"Removed braces","personalization_life_event_type_retirement":"Retirement","personalization_life_event_type_study_abroad":"Study abroad","personalization_life_event_type_surgery":"Surgery","personalization_life_event_type_tattoo_or_piercing":"Tattoo or piercing","personalization_life_event_type_travel":"Travel","personalization_life_event_type_volunteer_work":"Volunteer work","personalization_life_event_type_wear_glass_or_contact":"Wear glass or contact","personalization_life_event_type_weight_loss":"Weight loss","personalization_module_desc":"Some people don\u2019t need all the features. Below you can toggle specific features that are used on a contact sheet. This change will affect ALL your contacts. Note that if you turn off one of these features, data will not be lost - we will simply hide the feature.","personalization_module_save":"The change has been saved","personalization_module_title":"Features","personalization_reminder_rule_desc":"For every reminder that you set, we can send you an email some days before the event happens. You can toggle those notifications here. Note that those notifications only apply to monthly and yearly reminders.","personalization_reminder_rule_line":"{count} day before|{count} days before","personalization_reminder_rule_save":"The change has been saved","personalization_reminder_rule_title":"Reminder rules","personalization_tab_title":"Personalize your account","personalization_title":"Here you can find different settings to configure your account. These features are more for \u201cpower users\u201d who want maximum control over Monica.","recovery_already_used_help":"This code has already been used","recovery_clipboard":"Codes copied in the clipboard","recovery_copy_help":"Copy codes in your clipboard","recovery_generate":"Generate new codes...","recovery_generate_help":"Be aware that generating new codes will invalidate previously generated codes","recovery_help_information":"You can use each recovery code once.","recovery_help_intro":"These are your recovery codes:","recovery_show":"Get recovery codes","recovery_title":"Recovery codes","reminder_time_to_send":"Time of the day reminders should be sent","reminder_time_to_send_help":"For your information, your next reminder will be sent on {dateTime}<\/span>.","reset_cta":"Reset account","reset_desc":"Do you wish to reset your account? This will remove all your contacts, and the data associated with them. Your account will not be deleted.","reset_notice":"Are you sure to reset your account? There is no turning back.","reset_success":"Your account has been reset successfully","reset_title":"Reset your account","save":"Update preferences","security_help":"Change security matters for your account.","security_title":"Security","settings_success":"Preferences updated!","sidebar_personalization":"Personalization","sidebar_settings":"Account settings","sidebar_settings_api":"API","sidebar_settings_dav":"DAV Resources","sidebar_settings_export":"Export data","sidebar_settings_import":"Import data","sidebar_settings_security":"Security","sidebar_settings_storage":"Storage","sidebar_settings_subscriptions":"Subscription","sidebar_settings_tags":"Tags management","sidebar_settings_users":"Users","storage_account_info":"Your account limit: :accountLimit Mb \/ Your current usage: :currentAccountSize Mb (:percentUsage%)","storage_description":"Here you can see all the documents and photos uploaded about your contacts.","storage_title":"Storage","storage_upgrade_notice":"Upgrade your account to be able to upload documents and photos.","stripe_error_api_connection":"Network communication with Stripe failed. Try again later.","stripe_error_authentication":"Wrong authentication with Stripe","stripe_error_card":"Your card was declined. Decline message is: :message","stripe_error_invalid_request":"Invalid parameters. Try again later.","stripe_error_rate_limit":"Too many requests with Stripe right now. Try again later.","subscriptions_account_cancel":"You can cancel subscription<\/a> anytime.","subscriptions_account_confirm_payment":"You payment is currently incomplete, please confirm your payment<\/a>.","subscriptions_account_current_paid_plan":"You are on the :name plan. Thanks so much for being a subscriber.","subscriptions_account_current_plan":"Your current plan","subscriptions_account_free_plan":"You are on the free plan.","subscriptions_account_free_plan_benefits_import_data_vcard":"Import your contacts with vCard","subscriptions_account_free_plan_benefits_reminders":"Reminders by email","subscriptions_account_free_plan_benefits_support":"Support the project on the long run, so we can introduce more great features.","subscriptions_account_free_plan_benefits_users":"Unlimited number of users","subscriptions_account_free_plan_upgrade":"You can upgrade your account to the :name plan, which costs $:price per month. Here are the advantages:","subscriptions_account_invoices":"Invoices","subscriptions_account_invoices_download":"Download","subscriptions_account_invoices_subscription":"Subscription from :startDate to :endDate","subscriptions_account_next_billing":"Your subscription will auto-renew on :date<\/strong>.","subscriptions_account_payment":"Which payment option fits you best?","subscriptions_account_upgrade":"Upgrade your account","subscriptions_account_upgrade_choice":"Pick a plan below and join over :customers persons who upgraded their Monica.","subscriptions_account_upgrade_title":"Upgrade Monica today and have more meaningful relationships.","subscriptions_back":"Back to settings","subscriptions_downgrade_cta":"Downgrade","subscriptions_downgrade_limitations":"The free plan has limitations. In order to be able to downgrade, you need to pass the checklist below:","subscriptions_downgrade_rule_contacts":"You must not have more than :number contacts","subscriptions_downgrade_rule_contacts_constraint":"You currently have 1 contact<\/a>.|You currently have :count contacts<\/a>.","subscriptions_downgrade_rule_invitations":"You must not have pending invitations","subscriptions_downgrade_rule_invitations_constraint":"You currently have 1 pending invitation<\/a> sent to people.|You currently have :count pending invitations<\/a> sent to people.","subscriptions_downgrade_rule_users":"You must have only 1 user in your account","subscriptions_downgrade_rule_users_constraint":"You currently have 1 user<\/a> in your account.|You currently have :count users<\/a> in your account.","subscriptions_downgrade_success":"You are back to the Free plan!","subscriptions_downgrade_thanks":"Thanks so much for having tried the paid plan. We keep adding new features on Monica all the time \u2013 so you might want to come back in the future to see if you might be interested in taking a subscription again.","subscriptions_downgrade_title":"Downgrade your account to the free plan","subscriptions_help_change_desc":"You can cancel anytime, no questions asked, and all by yourself \u2013 no need to contact support or whatever. However, you will not be refunded for the current period.","subscriptions_help_change_title":"What if I change my mind?","subscriptions_help_discounts_desc":"We do! Monica is free for students, and free for non-profits and charities. Just contact the support<\/a> with a proof of your status and we\u2019ll apply this special status in your account.","subscriptions_help_discounts_title":"Do you have discounts for non-profits and education?","subscriptions_help_limits_plan":"Yes. Free plans let you manage :number contacts.","subscriptions_help_limits_title":"Is there any limit to the number of contacts we can have on the free plan?","subscriptions_help_opensource_desc":"Monica is an open source project. This means it is built by an entirely benevolent community who just wants to provide a great tool for the greater good. Being open source means the code is publicly available on GitHub, and everyone can inspect it, modify it or enhance it. All the money we raise is dedicated to build better features, have more powerful servers, help pay the bills. Thanks for your help. We couldn\u2019t do it without you \u2013 literally.","subscriptions_help_opensource_title":"What is an open source project?","subscriptions_help_title":"Additional details you may be curious about","subscriptions_payment_cancelled":"This payment was cancelled.","subscriptions_payment_cancelled_title":"Payment Cancelled","subscriptions_payment_confirm_information":"Extra confirmation is needed to process your payment. Please confirm your payment by filling out your payment details below.","subscriptions_payment_confirm_title":"Confirm your :amount payment","subscriptions_payment_error_name":"Please provide your name.","subscriptions_payment_succeeded":"This payment was already successfully confirmed.","subscriptions_payment_succeeded_title":"Payment Successful","subscriptions_payment_success":"The payment was successful.","subscriptions_pdf_title":"Your :name monthly subscription","subscriptions_plan_choose":"Choose this plan","subscriptions_plan_include1":"Included with your upgrade:","subscriptions_plan_include2":"Unlimited number of contacts \u2022 Unlimited number of users \u2022 Reminders by email \u2022 Import with vCard \u2022 Personalization of the contact sheet","subscriptions_plan_include3":"100% of the profits go the development of this great open source project.","subscriptions_plan_month_bonus":"Cancel any time","subscriptions_plan_month_cost":"$5\/month","subscriptions_plan_month_title":"Pay monthly","subscriptions_plan_year_bonus":"Peace of mind for a whole year","subscriptions_plan_year_cost":"$45\/year","subscriptions_plan_year_cost_save":"you\u2019ll save 25%","subscriptions_plan_year_title":"Pay annually","subscriptions_upgrade_charge":"We\u2019ll charge your card :price now. The next charge will be on :date. If you ever change your mind, you can cancel anytime, no questions asked.","subscriptions_upgrade_charge_handled":"The payment is handled by Stripe<\/a>. No card information touches our server.","subscriptions_upgrade_choose":"You picked the :plan plan.","subscriptions_upgrade_credit":"Credit or debit card","subscriptions_upgrade_infos":"We couldn\u2019t be happier. Enter your payment info below.","subscriptions_upgrade_name":"Name on card","subscriptions_upgrade_submit":"Pay {amount}","subscriptions_upgrade_success":"Thank you! You are now subscribed.","subscriptions_upgrade_thanks":"Welcome to the community of people who try to make the world a better place.","subscriptions_upgrade_title":"Upgrade your account","subscriptions_upgrade_zip":"ZIP or postal code","tags_blank_description":"Tags work like folders, but you can add more than one tag to a contact. Go to a contact and tag a friend, right below the name. Once a contact is tagged, go back here to manage all the tags in your account.","tags_blank_title":"Tags are a great way of categorizing your contacts.","tags_list_contact_number":"1 contact|:count contacts","tags_list_delete_confirmation":"Are you sure you want to delete the tag? No contacts will be deleted, only the tag.","tags_list_delete_success":"The tag has been successfully deleted","tags_list_description":"You can organize your contacts by setting up tags. Tags work like folders, but you can add more than one tag to a contact. To add a new tag, add it on the contact itself.","tags_list_title":"Tags","temperature_scale":"Temperature scale","temperature_scale_celsius":"Celsius","temperature_scale_fahrenheit":"Fahrenheit","timezone":"Timezone","u2f_buttonAdvise":"If your security key has a button, press it.","u2f_delete_confirmation":"Are you sure you want to delete this key?","u2f_delete_success":"Key deleted","u2f_enable_description":"Add a new U2F security key","u2f_error_bad_request":"The visited URL doesn\u2019t match the App ID or your are not using HTTPS","u2f_error_configuration_unsupported":"Client configuration is not supported.","u2f_error_device_ineligible":"The presented device is not eligible for this request. For a registration request this may mean that the token is already registered, and for a sign request it may mean that the token does not know the presented key handle.","u2f_error_other_error":"An error occurred.","u2f_error_timeout":"Timeout reached before request could be satisfied.","u2f_insertKey":"Insert your security key.","u2f_key_name":"Key name:","u2f_key_name_help":"Give your key a name.","u2f_last_use":"Last use: {timestamp}","u2f_noButtonAdvise":"If it does not, remove it and insert it again.","u2f_success":"Your key is detected and validated.","u2f_title":"U2F security key","users_accept_title":"Accept invitation and create a new account","users_add_confirmation":"I confirm that I want to invite this user to my account. This person will access ALL my data and see exactly what I see.","users_add_cta":"Invite user by email","users_add_description":"This person will have the same rights as you do, including inviting other users and deleting them (including you). Therefore, make sure you trust this person.","users_add_email_field":"Enter the email of the person you want to invite","users_add_title":"Invite a new user by email to your account","users_blank_add_title":"Would you like to invite someone else?","users_blank_cta":"Invite someone","users_blank_description":"This person will have the same access that you have, and will be able to add, edit or delete contact information.","users_blank_title":"You are the only one who has access to this account.","users_error_already_invited":"You already have invited this user. Please choose another email address.","users_error_email_already_taken":"This email is already taken. Please choose another one","users_error_email_not_similar":"This is not the email of the person who\u2019ve invited you.","users_error_please_confirm":"Please confirm that you want to invite this user before proceeding with the invitation","users_invitation_deleted_confirmation_message":"The invitation has been successfully deleted","users_invitation_need_subscription":"Adding more users requires a subscription.","users_invitations_delete_confirmation":"Are you sure you want to delete this invitation?","users_list_add_user":"Invite a new user","users_list_delete_confirmation":"Are you sure to delete this user from your account?","users_list_invitations_explanation":"Below are the people you\u2019ve invited to join Monica as a collaborator.","users_list_invitations_invited_by":"invited by :name","users_list_invitations_sent_date":"sent on :date","users_list_invitations_title":"Pending invitations","users_list_title":"Users with access to your account","users_list_you":"That\u2019s you","webauthn_buttonAdvise":"If your security key has a button, press it.","webauthn_delete_confirmation":"Are you sure you want to delete this key?","webauthn_delete_success":"Key deleted","webauthn_enable_description":"Add a new security key","webauthn_error_already_used":"This key is already registered. It\u2019s not necessary to register it again.","webauthn_error_not_allowed":"The operation either timed out or was not allowed.","webauthn_insertKey":"Insert your security key.","webauthn_key_name":"Key name:","webauthn_key_name_help":"Give your key a name.","webauthn_last_use":"Last use: {timestamp}","webauthn_noButtonAdvise":"If it does not, remove it and insert it again.","webauthn_not_secured":"WebAuthn only supports secure connections. Please load this page with https scheme.","webauthn_not_supported":"Your browser doesn\u2019t currently support WebAuthn.","webauthn_success":"Your key is detected and validated.","webauthn_title":"Security key \u2014 WebAuthn protocol"},"validation":{"accepted":"The :attribute must be accepted.","active_url":"The :attribute is not a valid URL.","after":"The :attribute must be a date after :date.","after_or_equal":"The :attribute must be a date after or equal to :date.","alpha":"The :attribute may only contain letters.","alpha_dash":"The :attribute may only contain letters, numbers, and dashes.","alpha_num":"The :attribute may only contain letters and numbers.","array":"The :attribute must be an array.","attributes":[],"before":"The :attribute must be a date before :date.","before_or_equal":"The :attribute must be a date before or equal to :date.","between":{"array":"The :attribute must have between :min and :max items.","file":"The :attribute must be between :min and :max kilobytes.","numeric":"The :attribute must be between :min and :max.","string":"The :attribute must be between :min and :max characters."},"boolean":"The :attribute field must be true or false.","confirmed":"The :attribute confirmation does not match.","custom":{"attribute-name":{"rule-name":"custom-message"}},"date":"The :attribute is not a valid date.","date_format":"The :attribute does not match the format :format.","different":"The :attribute and :other must be different.","digits":"The :attribute must be :digits digits.","digits_between":"The :attribute must be between :min and :max digits.","dimensions":"The :attribute has invalid image dimensions.","distinct":"The :attribute field has a duplicate value.","email":"The :attribute must be a valid email address.","exists":"The selected :attribute is invalid.","file":"The :attribute must be a file.","filled":"The :attribute field must have a value.","image":"The :attribute must be an image.","in":"The selected :attribute is invalid.","in_array":"The :attribute field does not exist in :other.","integer":"The :attribute must be an integer.","ip":"The :attribute must be a valid IP address.","ipv4":"The :attribute must be a valid IPv4 address.","ipv6":"The :attribute must be a valid IPv6 address.","json":"The :attribute must be a valid JSON string.","max":{"array":"The :attribute may not have more than :max items.","file":"The :attribute may not be greater than :max kilobytes.","numeric":"The :attribute may not be greater than :max.","string":"The :attribute may not be greater than :max characters."},"mimes":"The :attribute must be a file of type: :values.","mimetypes":"The :attribute must be a file of type: :values.","min":{"array":"The :attribute must have at least :min items.","file":"The :attribute must be at least :min kilobytes.","numeric":"The :attribute must be at least :min.","string":"The :attribute must be at least :min characters."},"not_in":"The selected :attribute is invalid.","not_regex":"The :attribute format is invalid.","numeric":"The :attribute must be a number.","present":"The :attribute field must be present.","regex":"The :attribute format is invalid.","required":"The :attribute field is required.","required_if":"The :attribute field is required when :other is :value.","required_unless":"The :attribute field is required unless :other is in :values.","required_with":"The :attribute field is required when :values is present.","required_with_all":"The :attribute field is required when :values is present.","required_without":"The :attribute field is required when :values is not present.","required_without_all":"The :attribute field is required when none of :values are present.","same":"The :attribute and :other must match.","size":{"array":"The :attribute must contain :size items.","file":"The :attribute must be :size kilobytes.","numeric":"The :attribute must be :size.","string":"The :attribute must be :size characters."},"string":"The :attribute must be a string.","timezone":"The :attribute must be a valid zone.","unique":"The :attribute has already been taken.","uploaded":"The :attribute failed to upload.","url":"The :attribute format is invalid."}} +{"app":{"add":"Add","another_day":"another day","application_description":"Monica is a tool to manage your interactions with your loved ones, friends and family.","application_og_title":"Have better relations with your loved ones. Free Online CRM for friends and family.","application_title":"Monica \u2013 personal relationship manager","back":"Back","breadcrumb_add_note":"Add a note","breadcrumb_add_significant_other":"Add significant other","breadcrumb_api":"API","breadcrumb_archived_contacts":"Archived contacts","breadcrumb_dashboard":"Dashboard","breadcrumb_dav":"DAV Resources","breadcrumb_edit_introductions":"How did you meet","breadcrumb_edit_note":"Edit a note","breadcrumb_edit_significant_other":"Edit significant other","breadcrumb_journal":"Journal","breadcrumb_list_contacts":"List of people","breadcrumb_profile":"Profile of :name","breadcrumb_settings":"Settings","breadcrumb_settings_export":"Export","breadcrumb_settings_import":"Import","breadcrumb_settings_import_report":"Import report","breadcrumb_settings_import_upload":"Upload","breadcrumb_settings_personalization":"Personalization","breadcrumb_settings_security":"Security","breadcrumb_settings_security_2fa":"Two Factor Authentication","breadcrumb_settings_subscriptions":"Subscription","breadcrumb_settings_tags":"Tags","breadcrumb_settings_users":"Users","breadcrumb_settings_users_add":"Add a user","cancel":"Cancel","close":"Close","compliance_desc":"We have changed our Terms of Use<\/a> and Privacy Policy<\/a>. By law we have to ask you to review them and accept them so you can continue to use your account.","compliance_desc_end":"We don\u2019t do anything nasty with your data or account and will never do.","compliance_terms":"Accept new terms and privacy policy","compliance_title":"Sorry for the interruption.","copy":"Copy","create":"Create","date":"Date","dav_birthdays":"Birthdays","dav_birthdays_description":":name\u2019s contact\u2019s birthdays","dav_contacts":"Contacts","dav_contacts_description":":name\u2019s contacts","dav_tasks":"Tasks","dav_tasks_description":":name\u2019s tasks","days":"day|days","default_save_success":"The data has been saved.","delete":"Delete","delete_confirm":"Sure?","done":"Done","download":"Download","edit":"Edit","emotion_adoration":"Adoration","emotion_affection":"Affection","emotion_aggravation":"Aggravation","emotion_agitation":"Agitation","emotion_agony":"Agony","emotion_alarm":"Alarm","emotion_alienation":"Alienation","emotion_amazement":"Amazement","emotion_amusement":"Amusement","emotion_anger":"Anger","emotion_anguish":"Anguish","emotion_annoyance":"Annoyance","emotion_anxiety":"Anxiety","emotion_apprehension":"Apprehension","emotion_arousal":"Arousal","emotion_astonishment":"Astonishment","emotion_attraction":"Attraction","emotion_bitterness":"Bitterness","emotion_bliss":"Bliss","emotion_caring":"Caring","emotion_cheerfulness":"Cheerfulness","emotion_compassion":"Compassion","emotion_contempt":"Contempt","emotion_contentment":"Contentment","emotion_defeat":"Defeat","emotion_dejection":"Dejection","emotion_delight":"Delight","emotion_depression":"Depression","emotion_desire":"Desire","emotion_despair":"Despair","emotion_disappointment":"Disappointment","emotion_disgust":"Disgust","emotion_dislike":"Dislike","emotion_dismay":"Dismay","emotion_displeasure":"Displeasure","emotion_distress":"Distress","emotion_dread":"Dread","emotion_eagerness":"Eagerness","emotion_ecstasy":"Ecstasy","emotion_elation":"Elation","emotion_embarrassment":"Embarrassment","emotion_enjoyment":"Enjoyment","emotion_enthrallment":"Enthrallment","emotion_enthusiasm":"Enthusiasm","emotion_envy":"Envy","emotion_euphoria":"Euphoria","emotion_exasperation":"Exasperation","emotion_excitement":"Excitement","emotion_exhilaration":"Exhilaration","emotion_fear":"Fear","emotion_ferocity":"Ferocity","emotion_fondness":"Fondness","emotion_fright":"Fright","emotion_frustration":"Frustration","emotion_fury":"Fury","emotion_gaiety":"Gaiety","emotion_gladness":"Gladness","emotion_glee":"Glee","emotion_gloom":"Gloom","emotion_glumness":"Glumness","emotion_grief":"Grief","emotion_grouchiness":"Grouchiness","emotion_grumpiness":"Grumpiness","emotion_guilt":"Guilt","emotion_happiness":"Happiness","emotion_hate":"Hate","emotion_homesickness":"Homesickness","emotion_hope":"Hope","emotion_hopelessness":"Hopelessness","emotion_horror":"Horror","emotion_hostility":"Hostility","emotion_humiliation":"Humiliation","emotion_hurt":"Hurt","emotion_hysteria":"Hysteria","emotion_infatuation":"Infatuation","emotion_insecurity":"Insecurity","emotion_insult":"Insult","emotion_irritation":"Irritation","emotion_isolation":"Isolation","emotion_jealousy":"Jealousy","emotion_jolliness":"Jolliness","emotion_joviality":"Joviality","emotion_joy":"Joy","emotion_jubilation":"Jubilation","emotion_liking":"Liking","emotion_loathing":"Loathing","emotion_loneliness":"Loneliness","emotion_longing":"Longing","emotion_love":"Love","emotion_lust":"Lust","emotion_melancholy":"Melancholy","emotion_misery":"Misery","emotion_mortification":"Mortification","emotion_neglect":"Neglect","emotion_nervousness":"Nervousness","emotion_optimism":"Optimism","emotion_outrage":"Outrage","emotion_panic":"Panic","emotion_passion":"Passion","emotion_pity":"Pity","emotion_pleasure":"Pleasure","emotion_pride":"Pride","emotion_primary_anger":"Anger","emotion_primary_fear":"Fear","emotion_primary_joy":"Joy","emotion_primary_love":"Love","emotion_primary_sadness":"Sadness","emotion_primary_surprise":"Surprise","emotion_rage":"Rage","emotion_rapture":"Rapture","emotion_regret":"Regret","emotion_rejection":"Rejection","emotion_relief":"Relief","emotion_remorse":"Remorse","emotion_resentment":"Resentment","emotion_revulsion":"Revulsion","emotion_sadness":"Sadness","emotion_satisfaction":"Satisfaction","emotion_scorn":"Scorn","emotion_secondary_affection":"Affection","emotion_secondary_cheerfulness":"Cheerfulness","emotion_secondary_contentment":"Contentment","emotion_secondary_disappointment":"Disappointment","emotion_secondary_disgust":"Disgust","emotion_secondary_enthrallment":"Enthrallment","emotion_secondary_envy":"Envy","emotion_secondary_exasperation":"Exasperation","emotion_secondary_horror":"Horror","emotion_secondary_irritation":"Irritation","emotion_secondary_longing":"Longing","emotion_secondary_lust":"Lust","emotion_secondary_neglect":"Neglect","emotion_secondary_nervousness":"Nervousness","emotion_secondary_optimism":"Optimism","emotion_secondary_pride":"Pride","emotion_secondary_rage":"Rage","emotion_secondary_relief":"Relief","emotion_secondary_sadness":"Sadness","emotion_secondary_shame":"Shame","emotion_secondary_suffering":"Suffering","emotion_secondary_surprise":"Surprise","emotion_secondary_sympathy":"Sympathy","emotion_secondary_zest":"Zest","emotion_sentimentality":"Sentimentality","emotion_shame":"Shame","emotion_shock":"Shock","emotion_sorrow":"Sorrow","emotion_spite":"Spite","emotion_suffering":"Suffering","emotion_surprise":"Surprise","emotion_sympathy":"Sympathy","emotion_tenderness":"Tenderness","emotion_tenseness":"Tenseness","emotion_terror":"Terror","emotion_thrill":"Thrill","emotion_uneasiness":"Uneasiness","emotion_unhappiness":"Unhappiness","emotion_vengefulness":"Vengefulness","emotion_woe":"Woe","emotion_worry":"Worry","emotion_wrath":"Wrath","emotion_zeal":"Zeal","emotion_zest":"Zest","error_help":"We\u2019ll be right back.","error_id":"Error ID: :id","error_maintenance":"Maintenance in progress. Be right back.","error_save":"We had an error trying to save the data.","error_title":"Whoops! Something went wrong.","error_try_again":"Something went wrong. Please try again.","error_twitter":"Follow our Twitter account<\/a> to be alerted when it\u2019s up again.","error_unauthorized":"You don\u2019t have the right to edit this resource.","error_unavailable":"Service Unavailable","footer_modal_version_release_away":"You are 1 release behind the latest version available. You should update your instance.|You are :number releases behind the latest version available. You should update your instance.","footer_modal_version_whats_new":"What\u2019s new","footer_new_version":"A new version is available","footer_newsletter":"Newsletter","footer_privacy":"Privacy policy","footer_release":"Release notes","footer_remarks":"Any remarks?","footer_send_email":"Send me an email","footer_source_code":"Contribute","footer_version":"Version: :version","for":"for","gender_female":"Woman","gender_male":"Man","gender_no_gender":"No gender","gender_none":"Rather not say","go_back":"Go back","header_changelog_link":"Product changes","header_logout_link":"Logout","header_settings_link":"Settings","load_more":"Load more","loading":"Loading...","main_nav_activities":"Activities","main_nav_cta":"Add people","main_nav_dashboard":"Dashboard","main_nav_family":"Contacts","main_nav_journal":"Journal","main_nav_tasks":"Tasks","markdown_description":"Want to format your text in a nice way? We support Markdown to add bold, italic, lists and more.","markdown_link":"Read documentation","new":"new","no":"No","percent_uploaded":"{percent}% uploaded","relationship_type_bestfriend":"best friend","relationship_type_bestfriend_female":"best friend","relationship_type_bestfriend_female_with_name":":name\u2019s best friend","relationship_type_bestfriend_with_name":":name\u2019s best friend","relationship_type_boss":"boss","relationship_type_boss_female":"boss","relationship_type_boss_female_with_name":":name\u2019s boss","relationship_type_boss_with_name":":name\u2019s boss","relationship_type_child":"son","relationship_type_child_female":"daughter","relationship_type_child_female_with_name":":name\u2019s daughter","relationship_type_child_with_name":":name\u2019s son","relationship_type_colleague":"colleague","relationship_type_colleague_female":"colleague","relationship_type_colleague_female_with_name":":name\u2019s colleague","relationship_type_colleague_with_name":":name\u2019s colleague","relationship_type_cousin":"cousin","relationship_type_cousin_female":"cousin","relationship_type_cousin_female_with_name":":name\u2019s cousin","relationship_type_cousin_with_name":":name\u2019s cousin","relationship_type_date":"date","relationship_type_date_female":"date","relationship_type_date_female_with_name":":name\u2019s date","relationship_type_date_with_name":":name\u2019s date","relationship_type_ex":"ex-boyfriend","relationship_type_ex_female":"ex-girlfriend","relationship_type_ex_female_with_name":":name\u2019s ex-girlfriend","relationship_type_ex_husband":"ex husband","relationship_type_ex_husband_female":"ex wife","relationship_type_ex_husband_female_with_name":":name\u2019s ex wife","relationship_type_ex_husband_with_name":":name\u2019s ex husband","relationship_type_ex_with_name":":name\u2019s ex-boyfriend","relationship_type_friend":"friend","relationship_type_friend_female":"friend","relationship_type_friend_female_with_name":":name\u2019s friend","relationship_type_friend_with_name":":name\u2019s friend","relationship_type_godfather":"godfather","relationship_type_godfather_female":"godmother","relationship_type_godfather_female_with_name":":name\u2019s godmother","relationship_type_godfather_with_name":":name\u2019s godfather","relationship_type_godson":"godson","relationship_type_godson_female":"goddaughter","relationship_type_godson_female_with_name":":name\u2019s goddaughter","relationship_type_godson_with_name":":name\u2019s godson","relationship_type_grandchild":"grand child","relationship_type_grandchild_female":"grand child","relationship_type_grandchild_female_with_name":":name\u2019s grand child","relationship_type_grandchild_with_name":":name\u2019s grand child","relationship_type_grandparent":"grand parent","relationship_type_grandparent_female":"grand parent","relationship_type_grandparent_female_with_name":":name\u2019s grand parent","relationship_type_grandparent_with_name":":name\u2019s grand parent","relationship_type_group_family":"Family relationships","relationship_type_group_friend":"Friend relationships","relationship_type_group_love":"Love relationships","relationship_type_group_other":"Other kind of relationships","relationship_type_group_work":"Work relationships","relationship_type_inlovewith":"in love with","relationship_type_inlovewith_female":"in love with","relationship_type_inlovewith_female_with_name":"someone :name is in love with","relationship_type_inlovewith_with_name":"someone :name is in love with","relationship_type_lovedby":"loved by","relationship_type_lovedby_female":"loved by","relationship_type_lovedby_female_with_name":":name\u2019s secret lover","relationship_type_lovedby_with_name":":name\u2019s secret lover","relationship_type_lover":"lover","relationship_type_lover_female":"lover","relationship_type_lover_female_with_name":":name\u2019s lover","relationship_type_lover_with_name":":name\u2019s lover","relationship_type_mentor":"mentor","relationship_type_mentor_female":"mentor","relationship_type_mentor_female_with_name":":name\u2019s mentor","relationship_type_mentor_with_name":":name\u2019s mentor","relationship_type_nephew":"nephew","relationship_type_nephew_female":"niece","relationship_type_nephew_female_with_name":":name\u2019s niece","relationship_type_nephew_with_name":":name\u2019s nephew","relationship_type_parent":"father","relationship_type_parent_female":"mother","relationship_type_parent_female_with_name":":name\u2019s mother","relationship_type_parent_with_name":":name\u2019s father","relationship_type_partner":"significant other","relationship_type_partner_female":"significant other","relationship_type_partner_female_with_name":":name\u2019s significant other","relationship_type_partner_with_name":":name\u2019s significant other","relationship_type_protege":"protege","relationship_type_protege_female":"protege","relationship_type_protege_female_with_name":":name\u2019s protege","relationship_type_protege_with_name":":name\u2019s protege","relationship_type_sibling":"brother","relationship_type_sibling_female":"sister","relationship_type_sibling_female_with_name":":name\u2019s sister","relationship_type_sibling_with_name":":name\u2019s brother","relationship_type_spouse":"spouse","relationship_type_spouse_female":"spouse","relationship_type_spouse_female_with_name":":name\u2019s spouse","relationship_type_spouse_with_name":":name\u2019s spouse","relationship_type_stepchild":"stepson","relationship_type_stepchild_female":"stepdaughter","relationship_type_stepchild_female_with_name":":name\u2019s stepdaughter","relationship_type_stepchild_with_name":":name\u2019s stepson","relationship_type_stepparent":"stepfather","relationship_type_stepparent_female":"stepmother","relationship_type_stepparent_female_with_name":":name\u2019s stepmother","relationship_type_stepparent_with_name":":name\u2019s stepfather","relationship_type_subordinate":"subordinate","relationship_type_subordinate_female":"subordinate","relationship_type_subordinate_female_with_name":":name\u2019s subordinate","relationship_type_subordinate_with_name":":name\u2019s subordinate","relationship_type_uncle":"uncle","relationship_type_uncle_female":"aunt","relationship_type_uncle_female_with_name":":name\u2019s aunt","relationship_type_uncle_with_name":":name\u2019s uncle","remove":"Remove","retry":"Retry","revoke":"Revoke","save":"Save","save_close":"Save and close","today":"today","type":"Type","unknown":"I don\u2019t know","update":"Update","upgrade":"Upgrade to unlock","upload":"Upload","verify":"Verify","weather_clear-day":"Clear day","weather_clear-night":"Clear night","weather_cloudy":"Cloudy","weather_current_temperature_celsius":":temperature \u00b0C","weather_current_temperature_fahrenheit":":temperature \u00b0F","weather_current_title":"Current weather","weather_fog":"Fog","weather_partly-cloudy-day":"Partly cloudy day","weather_partly-cloudy-night":"Partly cloudy night","weather_rain":"Rain","weather_sleet":"Sleet","weather_snow":"Snow","weather_wind":"Wind","with":"with","yes":"Yes","yesterday":"yesterday","zoom":"Zoom"},"auth":{"2fa_one_time_password":"Two factor authentication code","2fa_otp_help":"Open up your two factor authentication mobile app and copy the code","2fa_recuperation_code":"Enter a two factor recovery code","2fa_title":"Two Factor Authentication","2fa_wrong_validation":"The two factor authentication has failed.","back_homepage":"Back to homepage","button_remember":"Remember Me","change_language":"Change language to :lang","change_language_title":"Change language:","confirmation_again":"If you want to change your email address you can click here<\/a>.","confirmation_check":"Before proceeding, please check your email for a verification link.","confirmation_fresh":"A fresh verification link has been sent to your email address.","confirmation_request_another":"If you did not receive the email click here to request another<\/a>.","confirmation_title":"Verify Your Email Address","create_account":"Create the first account by signing up<\/a>","email":"Email","email_change_current_email":"Current email address:","email_change_new":"New email address","email_change_title":"Change your email address","email_changed":"Your email address has been changed. Check your mailbox to validate it.","failed":"These credentials do not match our records.","login":"Login","login_again":"Please login again to your account","login_to_account":"Login to your account","login_with_recovery":"Login with a recovery code","mfa_auth_otp":"Authenticate with your two factor device","mfa_auth_u2f":"Authenticate with a U2F device","mfa_auth_webauthn":"Authenticate with a security key (WebAuthn)","not_authorized":"You are not authorized to execute this action","password":"Password","password_forget":"Forget your password?","password_reset":"Reset your password","password_reset_action":"Reset Password","password_reset_email":"E-Mail Address","password_reset_email_content":"Click here to reset your password:","password_reset_password":"Password","password_reset_password_confirm":"Confirm Password","password_reset_send_link":"Send Password Reset Link","password_reset_title":"Reset Password","recovery":"Recovery code","register_action":"Register","register_create_account":"You need to create an account to use Monica","register_email":"Enter a valid email address","register_email_example":"you@home","register_firstname":"First name","register_firstname_example":"eg. John","register_invitation_email":"For security purposes, please indicate the email of the person who\u2019ve invited you to join this account. This information is provided in the invitation email.","register_lastname":"Last name","register_lastname_example":"eg. Doe","register_login":"Log in<\/a> if you already have an account.","register_password":"Password","register_password_confirmation":"Password confirmation","register_password_example":"Enter a secure password","register_policy":"Signing up signifies you\u2019ve read and agree to our Privacy Policy<\/a> and Terms of use<\/a>.","register_title_create":"Create your Monica account","register_title_welcome":"Welcome to your newly installed Monica instance","signup":"Sign up","signup_disabled":"Registration is currently disabled","signup_no_account":"Don\u2019t have an account?","throttle":"Too many login attempts. Please try again in :seconds seconds.","u2f_otp_extension":"U2F is supported natively on Chrome, Firefox<\/a> and Opera. On old Firefox versions, install the U2F Support Add-on<\/a>.","use_recovery":"Or you can use a recovery code<\/a>"},"changelog":{"note":"Note: unfortunately, this page is only in English.","title":"Product changes"},"dashboard":{"dashboard_blank_cta":"Add your first contact","dashboard_blank_description":"Monica is the place to organize all the interactions you have with the ones you care about.","dashboard_blank_illustration":"Illustration by Freepik<\/a>","dashboard_blank_title":"Welcome to your account!","debts_you_owe":"You owe","notes_title":"You don\u2019t have any starred notes yet.","product_changes":"Product changes","product_view_details":"View details","reminders_next_months":"Events in the next 3 months","reminders_none":"No reminder for this month","statistics_activities":"Activities","statistics_contacts":"Contacts","statistics_gifts":"Gifts","tab_calls_blank":"You haven\u2019t logged a call yet.","tab_debts":"Debts","tab_debts_blank":"You haven\u2019t logged any debt yet.","tab_favorite_notes":"Favorite notes","tab_recent_calls":"Recent calls","tab_tasks":"Tasks","tab_tasks_blank":"You haven\u2019t any task yet.","task_add_cta":"Add a task","tasks_add_note":"Press Enter<\/kbd> to add the task.","tasks_add_task_placeholder":"What is this task about?","tasks_tab_your_contacts":"Tasks related to your contacts","tasks_tab_your_tasks":"Your tasks"},"format":{"full_date_year":"F d, Y","full_hour":"h.i A","full_month":"F","full_month_year":"F Y","short_date":"M d","short_date_year":"M d, Y","short_date_year_time":"M d, Y H:i","short_day":"D","short_month":"M","short_month_year":"M Y","short_text":"{text}\u2026"},"journal":{"delete_confirmation":"Are you sure you want to delete this journal entry?","entry_delete_success":"The journal entry has been successfully deleted.","journal_add":"Add a journal entry","journal_add_comment":"Care to add a comment (optional)?","journal_add_cta":"Save","journal_add_date":"Date","journal_add_post":"Entry","journal_add_title":"Title (optional)","journal_blank_cta":"Add your first journal entry","journal_blank_description":"The journal lets you write events that happened to you, and remember them.","journal_come_back":"Thanks. Come back tomorrow to rate your day again.","journal_created_automatically":"Created automatically","journal_description":"Note: the journal lists both manual journal entries, and automatic entries like Activities done with your contacts. While you can delete journal entries manually, you\u2019ll have to delete the activity directly on the contact page.","journal_entry_rate":"You rated your day.","journal_entry_type_activity":"Activity","journal_entry_type_journal":"Journal entry","journal_rate":"How was your day? You can rate it once a day.","journal_show_comment":"Show comment"},"mail":{"comment":"Comment: :comment","confirmation_email_button":"Verify email address","confirmation_email_intro":"To validate your email click on the button below","confirmation_email_title":"Monica \u2013 Email verification","footer_contact_info":"Add, view, complete, and change information about this contact:","footer_contact_info2":"See :name\u2019s profile","footer_contact_info2_link":"See :name\u2019s profile: :url","for":"For: :name","greetings":"Hi :username","notification_description":"In :count days (on :date), the following event will happen:","notification_subject_line":"You have an upcoming event","notifications_footer":"If you\u2019re having trouble clicking the \":actionText\" button, copy and paste the URL below into your web browser: [:actionURL](:actionURL)","notifications_hello":"Hello!","notifications_regards":"Regards","notifications_rights":"All rights reserved","notifications_whoops":"Whoops!","stay_in_touch_subject_description":"You asked to be reminded to stay in touch with :name every :frequency day.|You asked to be reminded to stay in touch with :name every :frequency days.","stay_in_touch_subject_line":"Stay in touch with :name","subject_line":"Reminder for :contact","want_reminded_of":"You wanted to be reminded of :reason"},"pagination":{"next":"Next \u276f","previous":"\u276e Previous"},"passwords":{"changed":"Password changed successfully.","invalid":"Current password you entered is not correct.","password":"Passwords must be at least six characters and match the confirmation.","reset":"Your password has been reset!","sent":"If the email you entered exists in our records, you\u2019ve been sent a password reset link.","token":"This password reset token is invalid.","user":"If the email you entered exists in our records, you\u2019ve been sent a password reset link."},"people":{"activities_activity":"Activity Category","activities_add_activity":"Add activity","activities_add_cta":"Record activity","activities_add_date_occured":"Date this activity occurred","activities_add_error":"Error when adding the activity","activities_add_optional_comment":"Optional comment","activities_add_pick_activity":"(Optional) Would you like to categorize this activity? You don\u2019t have to, but it will give you statistics later on","activities_add_success":"The activity has been added successfully","activities_add_title":"What did you do with :name?","activities_blank_add_activity":"Add an activity","activities_blank_title":"Keep track of what you\u2019ve done with :name in the past, and what you\u2019ve talked about","activities_delete_confirmation":"Are you sure you want to delete this activity?","activities_delete_success":"The activity has been deleted successfully","activities_hide_details":"Hide details","activities_item_information":":Activity. Happened on :date","activities_more_details":"More details","activities_profile_number_occurences":":value activity|:value activities","activities_profile_subtitle":"You\u2019ve logged :total_activities activity with :name in total and :activities_last_twelve_months in the last 12 months so far.|You\u2019ve logged :total_activities activities with :name in total and :activities_last_twelve_months in the last 12 months so far.","activities_profile_title":"Activities report between :name and you","activities_profile_year_summary":"Here is what you two have done in :year","activities_profile_year_summary_activity_types":"Here is a breakdown of the type of activities you\u2019ve done together in :year","activities_summary":"Describe what you did","activities_update_success":"The activity has been updated successfully","activities_view_activities_report":"View activities report","activities_who_was_involved":"Who was involved?","activity_title":"Activities","activity_type_ate_at_his_place":"ate at their place","activity_type_ate_at_home":"ate at home","activity_type_ate_restaurant":"ate at a restaurant","activity_type_category_cultural_activities":"Cultural activities","activity_type_category_food":"Food","activity_type_category_simple_activities":"Simple activities","activity_type_category_sport":"Sport","activity_type_did_sport_activities_together":"did sport together","activity_type_just_hung_out":"just hung out","activity_type_picknicked":"picknicked","activity_type_talked_at_home":"just talked at home","activity_type_watched_movie_at_home":"watched a movie at home","activity_type_went_bar":"went to a bar","activity_type_went_concert":"went to a concert","activity_type_went_museum":"went to the museum","activity_type_went_play":"went to a play","activity_type_went_theater":"went to the theater","age_approximate_in_years":"around :age years old","age_exact_birthdate":"born :date","age_exact_in_years":":age years old","birthdate_not_set":"Birthdate is not set","call_blank_desc":"You called {name}","call_blank_title":"Keep track of the phone calls you\u2019ve done with {name}","call_button":"Log a call","call_delete_confirmation":"Are you sure you want to delete this call?","call_delete_success":"The call has been deleted successfully","call_emotions":"Emotions:","call_empty_comment":"No details","call_he_called":"{name} called","call_title":"Phone calls","call_you_called":"You called","calls_add_success":"The phone call has been saved.","contact_address_form_city":"City (optional)","contact_address_form_country":"Country (optional)","contact_address_form_latitude":"Latitude (numbers only) (optional)","contact_address_form_longitude":"Longitude (numbers only) (optional)","contact_address_form_name":"Label (optional)","contact_address_form_postal_code":"Postal code (optional)","contact_address_form_province":"Province (optional)","contact_address_form_street":"Street (optional)","contact_address_title":"Addresses","contact_archive":"Archive contact","contact_archive_help":"Archived contacts will not be shown on the contact list, but still appear in search results.","contact_info_address":"Lives in","contact_info_form_contact_type":"Contact type","contact_info_form_content":"Content","contact_info_form_personalize":"Personalize","contact_info_title":"Contact information","contact_unarchive":"Unarchive contact","conversation_add_another":"Add another message","conversation_add_content":"Write down what was said","conversation_add_error":"You must add at least one message.","conversation_add_how":"How did you communicate?","conversation_add_success":"The conversation has been successfully added.","conversation_add_title":"Record a new conversation","conversation_add_what_was_said":"What did you say?","conversation_add_when":"When did you have this conversation?","conversation_add_who_wrote":"Who said this message?","conversation_add_you":"You","conversation_blank":"Record conversations you have with :name on social media, SMS, ...","conversation_delete_link":"Delete the conversation","conversation_delete_success":"The conversation has been successfully deleted.","conversation_edit_delete":"Are you sure you want to delete this conversation? Deletion is permanent.","conversation_edit_success":"The conversation has been successfully updated.","conversation_edit_title":"Edit conversation","conversation_list_cta":"Log conversation","conversation_list_table_content":"Partial content (last message)","conversation_list_table_messages":"Messages","conversation_list_title":"Conversations","debt_add_add_cta":"Add debt","debt_add_amount":"the sum of","debt_add_cta":"Add debt","debt_add_reason":"for the following reason (optional)","debt_add_success":"The debt has been added successfully","debt_add_they_owe":":name owes you","debt_add_title":"Debt management","debt_add_you_owe":"You owe :name","debt_delete_confirmation":"Are you sure you want to delete this debt?","debt_delete_success":"The debt has been deleted successfully","debt_edit_success":"The debt has been updated successfully","debt_edit_update_cta":"Update debt","debt_they_owe":":name owes you :amount","debt_title":"Debts","debt_you_owe":"You owe :amount","debts_blank_title":"Manage debts you owe to :name or :name owes you","deceased_add_reminder":"Add a reminder for this date","deceased_age":"Age at death","deceased_know_date":"I know the date this person died","deceased_label":"Deceased","deceased_label_with_date":"Deceased on :date","deceased_mark_person_deceased":"Mark this person as deceased","deceased_reminder_title":"Anniversary of the death of :name","document_list_blank_desc":"Here you can store documents related to this person.","document_list_cta":"Upload document","document_list_title":"Documents","document_upload_zone_cta":"Upload a file","document_upload_zone_error":"There was an error uploading the document. Please try again below.","document_upload_zone_progress":"Uploading the document...","edit_contact_information":"Edit contact information","emotion_this_made_me_feel":"This made you feel\u2026","food_preferences_add_success":"Food preferences have been saved","food_preferences_cta":"Add food preferences","food_preferences_edit_cta":"Save food preferences","food_preferences_edit_description":"Perhaps :firstname or someone in the :family\u2019s family has an allergy. Or doesn\u2019t like a specific bottle of wine. Indicate them here so you will remember it next time you invite them for dinner","food_preferences_edit_description_no_last_name":"Perhaps :firstname has an allergy. Or doesn\u2019t like a specific bottle of wine. Indicate them here so you will remember it next time you invite them for dinner","food_preferences_edit_title":"Indicate food preferences","food_preferences_title":"Food preferences","gifts_add_comment":"Comment (optional)","gifts_add_gift":"Add a gift","gifts_add_gift_already_offered":"Gift offered","gifts_add_gift_idea":"Gift idea","gifts_add_gift_received":"Gift received","gifts_add_gift_title":"What is this gift?","gifts_add_link":"Link to the web page (optional)","gifts_add_someone":"This gift is for someone in :name\u2019s family in particular","gifts_add_success":"The gift has been added successfully","gifts_add_title":"Gift management for :name","gifts_add_value":"Value (optional)","gifts_delete_confirmation":"Are you sure you want to delete this gift?","gifts_delete_cta":"Delete","gifts_delete_success":"The gift has been deleted successfully","gifts_for":"For:","gifts_ideas":"Gift ideas","gifts_link":"Link","gifts_mark_offered":"Mark as offered","gifts_offered":"Gifts offered","gifts_offered_as_an_idea":"Mark as an idea","gifts_received":"Gifts received","gifts_title":"Gifts","gifts_update_success":"The gift has been updated successfully","gifts_view_comment":"View comment","information_edit_avatar":"Photo\/avatar of the contact","information_edit_description":"Description (Optional)","information_edit_description_help":"Used on the contact list to add some context, if necessary.","information_edit_exact":"I know the exact birthdate of this person...","information_edit_firstname":"First name","information_edit_lastname":"Last name (Optional)","information_edit_max_size":"Max :size Kb.","information_edit_not_year":"I know the day and month of the birthdate of this person, but not the year\u2026","information_edit_probably":"This person is probably...","information_edit_success":"The profile has been updated successfully","information_edit_title":"Edit :name\u2019s personal information","information_edit_unknown":"I do not know this person\u2019s age","information_no_work_defined":"No work information defined","information_work_at":"at :company","introductions_add_reminder":"Add a reminder to celebrate this encounter on the anniversary this event happened","introductions_additional_info":"Explain how and where you met","introductions_blank_cta":"Indicate how you met :name","introductions_edit_met_through":"Has someone introduced you to this person?","introductions_first_met_date":"Date you met","introductions_first_met_date_known":"This is the date we met","introductions_met_date":"Met on :date","introductions_met_through":"Met through :name<\/a>","introductions_no_first_met_date":"I don\u2019t know the date we met","introductions_no_met_through":"No one","introductions_reminder_title":"Anniversary of the day you first met","introductions_sidebar_title":"How you met","introductions_title_edit":"How did you meet :name?","introductions_update_success":"You\u2019ve successfully updated the information about how you met this person","last_activity_date":"Last activity together: :date","last_activity_date_empty":"Last activity together: unknown","last_called":"Last called: :date","last_called_empty":"Last called: unknown","life_event_blank":"Log what happens to the life of {name} for your future reference.","life_event_create_add_yearly_reminder":"Add a yearly reminder for this event","life_event_create_category":"All categories","life_event_create_date":"You do not need to indicate a month or a day - only the year is mandatory.","life_event_create_default_description":"Add information about what you know","life_event_create_default_story":"Story (optional)","life_event_create_default_title":"Title (optional)","life_event_create_life_event":"Add life event","life_event_create_success":"The life event has been added","life_event_date_it_happened":"Date it happened","life_event_delete_description":"Are you sure you want to delete this life event? Deletion is permanent.","life_event_delete_success":"The life event has been deleted","life_event_delete_title":"Delete a life event","life_event_list_cta":"Add life event","life_event_list_tab_life_events":"Life events","life_event_list_tab_other":"Notes, reminders, ...","life_event_list_title":"Life events","life_event_sentence_achievement_or_award":"Got an achievement or award","life_event_sentence_anniversary":"Anniversary","life_event_sentence_bought_a_home":"Bought a home","life_event_sentence_broken_bone":"Broke a bone","life_event_sentence_changed_beliefs":"Changed beliefs","life_event_sentence_dentist":"Went to the dentist","life_event_sentence_end_of_relationship":"Ended a relationship","life_event_sentence_engagement":"Got engaged","life_event_sentence_expecting_a_baby":"Expects a baby","life_event_sentence_first_kiss":"Kissed for the first time","life_event_sentence_first_word":"Spoke for the first time","life_event_sentence_holidays":"Went on holidays","life_event_sentence_home_improvement":"Made a home improvement","life_event_sentence_loss_of_a_loved_one":"Lost a loved one","life_event_sentence_marriage":"Got married","life_event_sentence_military_service":"Started military service","life_event_sentence_moved":"Moved","life_event_sentence_new_child":"Had a child","life_event_sentence_new_eating_habits":"Started new eating habits","life_event_sentence_new_family_member":"Added a family member","life_event_sentence_new_hobby":"Started a hobby","life_event_sentence_new_instrument":"Learned a new instrument","life_event_sentence_new_job":"Started a new job","life_event_sentence_new_language":"Learned a new language","life_event_sentence_new_license":"Got a license","life_event_sentence_new_pet":"Got a pet","life_event_sentence_new_relationship":"Started a relationship","life_event_sentence_new_roommate":"Got a roommate","life_event_sentence_new_school":"Started school","life_event_sentence_new_sport":"Started a sport","life_event_sentence_new_vehicle":"Got a new vehicle","life_event_sentence_overcame_an_illness":"Overcame an illness","life_event_sentence_published_book_or_paper":"Published a paper","life_event_sentence_quit_a_habit":"Quit a habit","life_event_sentence_removed_braces":"Removed braces","life_event_sentence_retirement":"Retired","life_event_sentence_study_abroad":"Studied abroad","life_event_sentence_surgery":"Got a surgery","life_event_sentence_tattoo_or_piercing":"Got a tattoo or piercing","life_event_sentence_travel":"Traveled","life_event_sentence_volunteer_work":"Started volunteering","life_event_sentence_wear_glass_or_contact":"Started to wear glass or contact lenses","life_event_sentence_weight_loss":"Lost weight","list_link_to_active_contacts":"You are viewing archived contacts. See the list of active contacts<\/a> instead.","list_link_to_archived_contacts":"List of archived contacts","me":"This is you","modal_call_comment":"What did you talk about? (optional)","modal_call_emotion":"Do you want to log how you felt during this call? (optional)","modal_call_exact_date":"The phone call happened on","modal_call_title":"Log a call","modal_call_who_called":"Who called?","notes_add_cta":"Add note","notes_create_success":"The note has been created successfully","notes_delete_confirmation":"Are you sure you want to delete this note? Deletion is permanent","notes_delete_success":"The note has been deleted successfully","notes_delete_title":"Delete a note","notes_favorite":"Add\/remove from favorites","notes_update_success":"The note has been saved successfully","people_add_birthday_reminder":"Wish happy birthday to :name","people_add_cta":"Add","people_add_firstname":"First name","people_add_gender":"Gender","people_add_import":"Do you want to import your contacts<\/a>?","people_add_lastname":"Last name (Optional)","people_add_middlename":"Middle name (Optional)","people_add_missing":"No Person Found Add New One Now","people_add_new":"Add new person","people_add_nickname":"Nickname (Optional)","people_add_reminder_for_birthday":"Create an annual reminder for the birthday","people_add_success":":name has been successfully created","people_add_title":"Add a new person","people_delete_confirmation":"Are you sure you want to delete this contact? Deletion is permanent.","people_delete_message":"Delete contact","people_delete_success":"The contact has been deleted","people_edit_email_error":"There is already a contact in your account with this email address. Please choose another one.","people_export":"Export as vCard","people_list_account_upgrade_cta":"Upgrade now","people_list_account_upgrade_title":"Upgrade your account to unlock it to its full potential.","people_list_account_usage":"Your account usage: :current\/:limit contacts","people_list_blank_cta":"Add someone","people_list_blank_title":"You don\u2019t have anyone in your account yet","people_list_clear_filter":"Clear filter","people_list_contacts_per_tags":"1 contact|:count contacts","people_list_filter_tag":"Showing all the contacts tagged with","people_list_filter_untag":"Showing all untagged contacts","people_list_firstnameAZ":"Sort by first name A \u2192 Z","people_list_firstnameZA":"Sort by first name Z \u2192 A","people_list_hide_dead":"Hide deceased people (:count)","people_list_last_updated":"Last consulted:","people_list_lastactivitydateNewtoOld":"Sort by last activity date newest to oldest","people_list_lastactivitydateOldtoNew":"Sort by last activity date oldest to newest","people_list_lastnameAZ":"Sort by last name A \u2192 Z","people_list_lastnameZA":"Sort by last name Z \u2192 A","people_list_number_kids":"1 kid|:count kids","people_list_number_reminders":"1 reminder|:count reminders","people_list_show_dead":"Show deceased people (:count)","people_list_sort":"Sort","people_list_stats":"1 contact|:count contacts","people_list_untagged":"View untagged contacts","people_not_found":"Contact not found","people_save_and_add_another_cta":"Submit and add someone else","people_search":"Search your contacts...","people_search_no_results":"No results found","pets_bird":"Bird","pets_cat":"Cat","pets_create_success":"The pet has been successfully added","pets_delete_success":"The pet has been deleted","pets_dog":"Dog","pets_fish":"Fish","pets_hamster":"Hamster","pets_horse":"Horse","pets_kind":"Kind of pet","pets_name":"Name (optional)","pets_other":"Other","pets_rabbit":"Rabbit","pets_rat":"Rat","pets_reptile":"Reptile","pets_small_animal":"Small animal","pets_title":"Pets","pets_update_success":"The pet has been updated","photo_delete":"Delete photo","photo_list_blank_desc":"You can store images about this contact. Upload one now!","photo_list_cta":"Upload photo","photo_list_title":"Related photos","photo_upload_zone_cta":"Upload a photo","relationship_delete_confirmation":"Are you sure you want to delete this relationship? Deletion is permanent.","relationship_form_add":"Add a new relationship","relationship_form_add_choice":"Who is the relationship with?","relationship_form_add_description":"This will let you treat this person like any other contact.","relationship_form_add_no_existing_contact":"You don\u2019t have any contacts who can be related to :name at the moment.","relationship_form_add_success":"The relationship has been successfully set.","relationship_form_also_create_contact":"Create a Contact entry for this person.","relationship_form_associate_contact":"An existing contact","relationship_form_associate_dropdown":"Search and select an existing contact from the dropdown below","relationship_form_associate_dropdown_placeholder":"Search and select an existing contact","relationship_form_create_contact":"Add a new person","relationship_form_deletion_success":"The relationship has been deleted.","relationship_form_edit":"Edit an existing relationship","relationship_form_is_with":"This person is...","relationship_form_is_with_name":":name is...","relationship_unlink_confirmation":"Are you sure you want to delete this relationship? This person will not be deleted \u2013 only the relationship between the two.","reminder_frequency_day":"every day|every :number days","reminder_frequency_month":"every month|every :number months","reminder_frequency_one_time":"on :date","reminder_frequency_week":"every week|every :number weeks","reminder_frequency_year":"every year|every :number year","reminders_add_cta":"Add reminder","reminders_add_description":"Please remind me to...","reminders_add_error_custom_text":"You need to indicate a text for this reminder","reminders_add_next_time":"When is the next time you would like to be reminded about this?","reminders_add_once":"Remind me about this just once","reminders_add_recurrent":"Remind me about this every","reminders_add_starting_from":"starting from the date specified above","reminders_add_title":"What would you like to be reminded of about :name?","reminders_birthday":"Birthday of :name","reminders_blank_add_activity":"Add a reminder","reminders_blank_title":"Is there something you want to be reminded of about :name?","reminders_create_success":"The reminder has been added successfully","reminders_cta":"Add a reminder","reminders_delete_confirmation":"Are you sure you want to delete this reminder?","reminders_delete_cta":"Delete","reminders_delete_success":"The reminder has been deleted successfully","reminders_description":"We will send an email for each one of the reminders below. Reminders are sent every morning the day events will happen. Reminders automatically added for birthdates can not be deleted. If you want to change those dates, edit the birthdate of the contacts.","reminders_edit_update_cta":"Update reminder","reminders_free_plan_warning":"You are on the Free plan. No emails are sent on this plan. To receive your reminders by email, upgrade your account.","reminders_next_expected_date":"on","reminders_one_time":"One time","reminders_type_month":"month","reminders_type_week":"week","reminders_type_year":"year","reminders_update_success":"The reminder has been updated successfully","section_contact_information":"Contact information","section_personal_activities":"Activities","section_personal_gifts":"Gifts","section_personal_notes":"Notes","section_personal_reminders":"Reminders","section_personal_tasks":"Tasks","set_favorite":"Favorite contacts are placed at the top of the contact list","stay_in_touch":"Stay in touch","stay_in_touch_frequency":"Stay in touch every day|Stay in touch every {count} days","stay_in_touch_invalid":"The frequency must be a number greater than 0.","stay_in_touch_modal_desc":"We can remind you by email to keep in touch with {firstname} at a regular interval.","stay_in_touch_modal_label":"Send me an email every...","stay_in_touch_modal_title":"Stay in touch","stay_in_touch_premium":"You need to upgrade your account to make use of this feature","tag_add":"Add tags","tag_add_search":"Add or search tags","tag_edit":"Edit tag","tag_no_tags":"No tags yet","tasks_add_task":"Add a task","tasks_blank_title":"You don\u2019t have any tasks yet.","tasks_complete_success":"The task has changed status successfully","tasks_delete_success":"The task has been deleted successfully","tasks_form_description":"Description (optional)","tasks_form_title":"Title","work_add_cta":"Update work information","work_edit_company":"Company (optional)","work_edit_job":"Job title (optional)","work_edit_success":"Work information have been updated with success","work_edit_title":"Update :name\u2019s job information","work_information":"Work information"},"reminder":{"type_birthday":"Wish happy birthday to","type_birthday_kid":"Wish happy birthday to the kid of","type_email":"Email","type_hangout":"Hangout with","type_lunch":"Lunch with","type_phone_call":"Call"},"settings":{"2fa_disable_description":"Disable Two Factor Authentication for your account. Be careful, your account will not be secured anymore !","2fa_disable_error":"Error when trying to disable Two Factor Authentication","2fa_disable_success":"Two Factor Authentication disabled","2fa_disable_title":"Disable Two Factor Authentication","2fa_enable_description":"Enable Two Factor Authentication to increase security with your account.","2fa_enable_error":"Error when trying to activate Two Factor Authentication","2fa_enable_error_already_set":"Two Factor Authentication is already activated","2fa_enable_otp":"Open up your two factor authentication mobile app and scan the following QR barcode:","2fa_enable_otp_help":"If your two factor authentication mobile app does not support QR barcodes, enter in the following code:","2fa_enable_otp_validate":"Please validate the new device you\u2019ve just set:","2fa_enable_success":"Two Factor Authentication activated","2fa_enable_title":"Enable Two Factor Authentication","2fa_otp_title":"Two Factor Authentication mobile application","2fa_title":"Two Factor Authentication","api_authorized_clients":"List of authorized clients","api_authorized_clients_desc":"This section lists all the clients you\u2019ve authorized to access your application. You can revoke this authorization at anytime.","api_authorized_clients_name":"Name","api_authorized_clients_scopes":"Scopes","api_authorized_clients_title":"Authorized Applications","api_description":"The API can be used to manipulate Monica\u2019s data from an external application, like a mobile application for instance.","api_oauth_clientid":"Client ID","api_oauth_clients":"Your Oauth clients","api_oauth_clients_desc":"This section lets you register your own OAuth clients.","api_oauth_create":"Create Client","api_oauth_create_new":"Create New Client","api_oauth_edit":"Edit Client","api_oauth_name":"Name","api_oauth_name_help":"Something your users will recognize and trust.","api_oauth_not_created":"You have not created any OAuth clients.","api_oauth_redirecturl":"Redirect URL","api_oauth_redirecturl_help":"Your application\u2019s authorization callback URL.","api_oauth_secret":"Secret","api_oauth_title":"Oauth Clients","api_pao_description":"Make sure you give this token to a source you trust \u2013 as they allow you to access all your data.","api_personal_access_tokens":"Personal access tokens","api_title":"API access","api_token_create":"Create Token","api_token_create_new":"Create New Token","api_token_delete":"Delete","api_token_help":"Here is your new personal access token. This is the only time it will be shown so don\u2019t lose it! You may now use this token to make API requests.","api_token_name":"Name","api_token_not_created":"You have not created any personal access tokens.","api_token_scopes":"Scopes","api_token_title":"Personal access token","currency":"Currency","dav_caldav_birthdays_export":"Export all birthdays in one file","dav_caldav_tasks_export":"Export all tasks in one file","dav_carddav_export":"Export all contacts in one file","dav_clipboard_copied":"Value copied into your clipboard","dav_connect_help":"You can connect your contacts and\/or calendars with this base url on you phone or computer.","dav_connect_help2":"Use your login (email) and password, or create an API token to authenticate.","dav_copy_help":"Copy into your clipboard","dav_description":"Here you can find all settings to use WebDAV resources for CardDAV and CalDAV exports.","dav_title":"WebDAV","dav_title_caldav":"CalDAV","dav_title_carddav":"CardDAV","dav_url_base":"Base url for all CardDAV and CalDAV resources:","dav_url_caldav_birthdays":"CalDAV url for Birthdays resources:","dav_url_caldav_tasks":"CalDAV url for Tasks resources:","dav_url_carddav":"CardDAV url for Contacts resource:","delete_cta":"Delete account","delete_desc":"Do you wish to delete your account? Warning: deletion is permanent and all your data will be erased permanently.","delete_notice":"Are you sure to delete your account? There is no turning back.","delete_title":"Delete your account","email":"Email address","email_help":"This is the email used to login, and this is where you\u2019ll receive your reminders.","email_placeholder":"Enter email","export_be_patient":"Click the button to start the export. It might take several minutes to process the export \u2013 please be patient and do not spam the button.","export_sql_cta":"Export to SQL","export_sql_explanation":"Exporting your data in SQL format allows you to take your data and import it to your own Monica instance. This is only valuable if you do have your own server.","export_sql_link_instructions":"Note: read the instructions<\/a> to learn more about importing this file to your instance.","export_title":"Export your account data","export_title_sql":"Export to SQL","firstname":"First name","import_blank_cta":"Import vCard","import_blank_description":"We can import vCard files that you can get from Google Contacts or your Contact manager.","import_blank_question":"Would you like to import contacts now?","import_blank_title":"You haven\u2019t imported any contacts yet.","import_cta":"Upload contacts","import_in_progress":"The import is in progress. Reload the page in one minute.","import_need_subscription":"Importing data requires a subscription.","import_report_date":"Date of the import","import_report_number_contacts":"Number of contacts in the file","import_report_number_contacts_imported":"Number of imported contacts","import_report_number_contacts_skipped":"Number of skipped contacts","import_report_status_imported":"Imported","import_report_status_skipped":"Skipped","import_report_title":"Importing report","import_report_type":"Type of import","import_result_stat":"Uploaded vCard with 1 contact (:total_imported imported, :total_skipped skipped)|Uploaded vCard with :total_contacts contacts (:total_imported imported, :total_skipped skipped)","import_stat":"You\u2019ve imported :number files so far.","import_title":"Import contacts in your account","import_upload_behaviour":"Import behaviour:","import_upload_behaviour_add":"Add new contacts, skip existing","import_upload_behaviour_help":"Note: Replacing will replace all data found in the vCard, but will keep existing contact fields.","import_upload_behaviour_replace":"Replace existing contacts","import_upload_form_file":"Your .vcf<\/code> or .vCard<\/code> file:","import_upload_rule_cant_revert":"Make sure data is accurate before uploading, as you can\u2019t undo the upload.","import_upload_rule_format":"We support .vcard<\/code> and .vcf<\/code> files.","import_upload_rule_instructions":"Export instructions for Contacts.app (macOS)<\/a> and Google Contacts<\/a>.","import_upload_rule_limit":"Files are limited to 10MB.","import_upload_rule_multiple":"For now, if your contacts have multiple email addresses or phone numbers, only the first entry will be picked up.","import_upload_rule_time":"It might take up to 1 minute to upload the contacts and process them. Be patient.","import_upload_rule_vcard":"We support the vCard 3.0 format, which is the default format for Contacts.app (macOS) and Google Contacts.","import_upload_rules_desc":"We do however have some rules:","import_upload_title":"Import your contacts from a vCard file","import_vcard_contact_exist":"Contact already exists","import_vcard_contact_no_firstname":"No firstname (mandatory)","import_vcard_file_no_entries":"File contains no entries","import_vcard_file_not_found":"File not found","import_vcard_parse_error":"Error when parsing the vCard entry","import_vcard_unknown_entry":"Unknown contact name","import_view_report":"View report","lastname":"Last name","layout":"Layout","layout_big":"Full width of the browser","layout_small":"Maximum 1200 pixels wide","locale":"Language used in the app","locale_ar":"Arabic","locale_cs":"Czech","locale_de":"German","locale_en":"English","locale_es":"Spanish","locale_fr":"French","locale_he":"Hebrew","locale_hr":"Croatian","locale_it":"Italian","locale_nl":"Dutch","locale_pt":"Portuguese","locale_pt-BR":"Brazilian","locale_ru":"Russian","locale_tr":"Turkish","locale_zh":"Chinese Simplified","name":"Your name: :name","name_order":"Name order","name_order_firstname_lastname":" - John Doe","name_order_firstname_lastname_nickname":" () - John Doe (Rambo)","name_order_firstname_nickname_lastname":" () - John (Rambo) Doe","name_order_lastname_firstname":" - Doe John","name_order_lastname_firstname_nickname":" () - Doe John (Rambo)","name_order_lastname_nickname_firstname":" () - Doe (Rambo) John","name_order_nickname":" - Rambo","password_btn":"Change password","password_change":"Password change","password_current":"Current password","password_current_placeholder":"Enter your current password","password_new1":"New password","password_new1_placeholder":"Enter a new password","password_new2":"Confirmation","password_new2_placeholder":"Retype the new password","personalisation_paid_upgrade":"This is a premium feature that requires a Paid subscription to be active. Upgrade your account by visiting Settings > Subscription.","personalization_activity_type_add_button":"Add a new activity type","personalization_activity_type_category_add":"Add a new activity type category","personalization_activity_type_category_description":"An activity done with one of your contact can have a type and a category type. Your account comes by default with a set of predefined category types, but you can customize everything here.","personalization_activity_type_category_modal_add":"Add a new activity type category","personalization_activity_type_category_modal_delete":"Delete an activity type category","personalization_activity_type_category_modal_delete_desc":"Are you sure you want to delete this category? Deleting it will delete all associated activity types. However, activities that belong to this category will not be affected by this deletion.","personalization_activity_type_category_modal_delete_error":"We can\u2019t find this activity type category.","personalization_activity_type_category_modal_edit":"Edit an activity type category","personalization_activity_type_category_modal_question":"How should we name this new category?","personalization_activity_type_category_table_actions":"Actions","personalization_activity_type_category_table_name":"Name","personalization_activity_type_category_title":"Activity type categories","personalization_activity_type_modal_add":"Add a new activity type","personalization_activity_type_modal_delete":"Delete an activity type","personalization_activity_type_modal_delete_desc":"Are you sure you want to delete this activity type? Activities that belong to this category will not be affected by this deletion.","personalization_activity_type_modal_delete_error":"We can\u2019t find this activity type.","personalization_activity_type_modal_edit":"Edit an activity type","personalization_activity_type_modal_question":"How should we name this new activity type?","personalization_contact_field_type_add":"Add new field type","personalization_contact_field_type_add_success":"The contact field type has been successfully added.","personalization_contact_field_type_delete_success":"The contact field type has been deleted with success.","personalization_contact_field_type_description":"Here you can configure all the different types of contact fields that you can associate to all your contacts. If in the future, a new social network appears, you will be able to add this new type of ways of contacting your contacts right here.","personalization_contact_field_type_edit_success":"The contact field type has been successfully updated.","personalization_contact_field_type_modal_delete_description":"Are you sure you want to delete this contact field type? Deleting this type of contact field will delete ALL the data with this type for all your contacts.","personalization_contact_field_type_modal_delete_title":"Delete an existing contact field type","personalization_contact_field_type_modal_edit_title":"Edit an existing contact field type","personalization_contact_field_type_modal_icon":"Icon (optional)","personalization_contact_field_type_modal_icon_help":"You can associate an icon with this contact field type. You need to add a reference to a Font Awesome icon.","personalization_contact_field_type_modal_name":"Name","personalization_contact_field_type_modal_protocol":"Protocol (optional)","personalization_contact_field_type_modal_protocol_help":"Each new contact field type can be clickable. If a protocol is set, we will use it to trigger the action that is set.","personalization_contact_field_type_modal_title":"Add a new contact field type","personalization_contact_field_type_table_actions":"Actions","personalization_contact_field_type_table_name":"Name","personalization_contact_field_type_table_protocol":"Protocol","personalization_contact_field_type_title":"Contact field types","personalization_genders_add":"Add new gender type","personalization_genders_default":"Default gender","personalization_genders_desc":"You can define as many genders as you need to. You need at least one gender type in your account.","personalization_genders_f":"Female","personalization_genders_list_contact_number":"{count} contact|{count} contacts","personalization_genders_m":"Male","personalization_genders_make_default":"Change default gender","personalization_genders_modal_add":"Add gender type","personalization_genders_modal_default":"Is this the default gender for a new contact?","personalization_genders_modal_delete":"Delete gender type","personalization_genders_modal_delete_desc":"Are you sure you want to delete {name}?","personalization_genders_modal_delete_question":"You currently have {count} contact that has this gender. If you delete this gender, what gender should this contact have?|You currently have {count} contacts that have this gender. If you delete this gender, what gender should these contacts have?","personalization_genders_modal_delete_question_default":"This gender is the default one. If you delete this gender, which one will be the next default?","personalization_genders_modal_edit":"Update gender type","personalization_genders_modal_error":"Please choose a valid gender from the list.","personalization_genders_modal_name":"Name","personalization_genders_modal_name_help":"The name used to display the gender on a contact page.","personalization_genders_modal_sex":"Sex","personalization_genders_modal_sex_help":"Used to define the relationships, and during the VCard import\/export process.","personalization_genders_n":"None or not applicable","personalization_genders_o":"Other","personalization_genders_select_default":"Select default gender","personalization_genders_table_default":"Default","personalization_genders_table_name":"Name","personalization_genders_table_sex":"Sex","personalization_genders_title":"Gender types","personalization_genders_u":"Unknown","personalization_life_event_category_family_relationships":"Family & relationships","personalization_life_event_category_health_wellness":"Health & wellness","personalization_life_event_category_home_living":"Home & living","personalization_life_event_category_travel_experiences":"Travel & experiences","personalization_life_event_category_work_education":"Work & education","personalization_life_event_type_achievement_or_award":"Achievement or award","personalization_life_event_type_anniversary":"Anniversary","personalization_life_event_type_bought_a_home":"Bought a home","personalization_life_event_type_broken_bone":"Broken bone","personalization_life_event_type_changed_beliefs":"Changed beliefs","personalization_life_event_type_dentist":"Dentist","personalization_life_event_type_end_of_relationship":"End of relationship","personalization_life_event_type_engagement":"Engagement","personalization_life_event_type_expecting_a_baby":"Expecting a baby","personalization_life_event_type_first_kiss":"First kiss","personalization_life_event_type_first_met":"First met","personalization_life_event_type_first_word":"First word","personalization_life_event_type_holidays":"Holidays","personalization_life_event_type_home_improvement":"Home improvement","personalization_life_event_type_loss_of_a_loved_one":"Loss of a loved one","personalization_life_event_type_marriage":"Marriage","personalization_life_event_type_military_service":"Military service","personalization_life_event_type_moved":"Moved","personalization_life_event_type_new_child":"New child","personalization_life_event_type_new_eating_habits":"New eating habits","personalization_life_event_type_new_family_member":"New family member","personalization_life_event_type_new_hobby":"New hobby","personalization_life_event_type_new_instrument":"New instrument","personalization_life_event_type_new_job":"New job","personalization_life_event_type_new_language":"New language","personalization_life_event_type_new_license":"New license","personalization_life_event_type_new_pet":"New pet","personalization_life_event_type_new_relationship":"New relationship","personalization_life_event_type_new_roommate":"New roommate","personalization_life_event_type_new_school":"New school","personalization_life_event_type_new_sport":"New sport","personalization_life_event_type_new_vehicle":"New vehicle","personalization_life_event_type_overcame_an_illness":"Overcame an illness","personalization_life_event_type_published_book_or_paper":"Published a book or paper","personalization_life_event_type_quit_a_habit":"Quit a habit","personalization_life_event_type_removed_braces":"Removed braces","personalization_life_event_type_retirement":"Retirement","personalization_life_event_type_study_abroad":"Study abroad","personalization_life_event_type_surgery":"Surgery","personalization_life_event_type_tattoo_or_piercing":"Tattoo or piercing","personalization_life_event_type_travel":"Travel","personalization_life_event_type_volunteer_work":"Volunteer work","personalization_life_event_type_wear_glass_or_contact":"Wear glass or contact","personalization_life_event_type_weight_loss":"Weight loss","personalization_module_desc":"Some people don\u2019t need all the features. Below you can toggle specific features that are used on a contact sheet. This change will affect ALL your contacts. Note that if you turn off one of these features, data will not be lost - we will simply hide the feature.","personalization_module_save":"The change has been saved","personalization_module_title":"Features","personalization_reminder_rule_desc":"For every reminder that you set, we can send you an email some days before the event happens. You can toggle those notifications here. Note that those notifications only apply to monthly and yearly reminders.","personalization_reminder_rule_line":"{count} day before|{count} days before","personalization_reminder_rule_save":"The change has been saved","personalization_reminder_rule_title":"Reminder rules","personalization_tab_title":"Personalize your account","personalization_title":"Here you can find different settings to configure your account. These features are more for \u201cpower users\u201d who want maximum control over Monica.","recovery_already_used_help":"This code has already been used","recovery_clipboard":"Codes copied in the clipboard","recovery_copy_help":"Copy codes in your clipboard","recovery_generate":"Generate new codes...","recovery_generate_help":"Be aware that generating new codes will invalidate previously generated codes","recovery_help_information":"You can use each recovery code once.","recovery_help_intro":"These are your recovery codes:","recovery_show":"Get recovery codes","recovery_title":"Recovery codes","reminder_time_to_send":"Time of the day reminders should be sent","reminder_time_to_send_help":"For your information, your next reminder will be sent on {dateTime}<\/span>.","reset_cta":"Reset account","reset_desc":"Do you wish to reset your account? This will remove all your contacts, and the data associated with them. Your account will not be deleted.","reset_notice":"Are you sure to reset your account? There is no turning back.","reset_success":"Your account has been reset successfully","reset_title":"Reset your account","save":"Update preferences","security_help":"Change security matters for your account.","security_title":"Security","settings_success":"Preferences updated!","sidebar_personalization":"Personalization","sidebar_settings":"Account settings","sidebar_settings_api":"API","sidebar_settings_dav":"DAV Resources","sidebar_settings_export":"Export data","sidebar_settings_import":"Import data","sidebar_settings_security":"Security","sidebar_settings_storage":"Storage","sidebar_settings_subscriptions":"Subscription","sidebar_settings_tags":"Tags management","sidebar_settings_users":"Users","storage_account_info":"Your account limit: :accountLimit Mb \/ Your current usage: :currentAccountSize Mb (:percentUsage%)","storage_description":"Here you can see all the documents and photos uploaded about your contacts.","storage_title":"Storage","storage_upgrade_notice":"Upgrade your account to be able to upload documents and photos.","stripe_error_api_connection":"Network communication with Stripe failed. Try again later.","stripe_error_authentication":"Wrong authentication with Stripe","stripe_error_card":"Your card was declined. Decline message is: :message","stripe_error_invalid_request":"Invalid parameters. Try again later.","stripe_error_rate_limit":"Too many requests with Stripe right now. Try again later.","subscriptions_account_cancel":"You can cancel subscription<\/a> anytime.","subscriptions_account_confirm_payment":"You payment is currently incomplete, please confirm your payment<\/a>.","subscriptions_account_current_paid_plan":"You are on the :name plan. Thanks so much for being a subscriber.","subscriptions_account_current_plan":"Your current plan","subscriptions_account_free_plan":"You are on the free plan.","subscriptions_account_free_plan_benefits_import_data_vcard":"Import your contacts with vCard","subscriptions_account_free_plan_benefits_reminders":"Reminders by email","subscriptions_account_free_plan_benefits_support":"Support the project on the long run, so we can introduce more great features.","subscriptions_account_free_plan_benefits_users":"Unlimited number of users","subscriptions_account_free_plan_upgrade":"You can upgrade your account to the :name plan, which costs $:price per month. Here are the advantages:","subscriptions_account_invoices":"Invoices","subscriptions_account_invoices_download":"Download","subscriptions_account_invoices_subscription":"Subscription from :startDate to :endDate","subscriptions_account_next_billing":"Your subscription will auto-renew on :date<\/strong>.","subscriptions_account_payment":"Which payment option fits you best?","subscriptions_account_upgrade":"Upgrade your account","subscriptions_account_upgrade_choice":"Pick a plan below and join over :customers persons who upgraded their Monica.","subscriptions_account_upgrade_title":"Upgrade Monica today and have more meaningful relationships.","subscriptions_back":"Back to settings","subscriptions_downgrade_cta":"Downgrade","subscriptions_downgrade_limitations":"The free plan has limitations. In order to be able to downgrade, you need to pass the checklist below:","subscriptions_downgrade_rule_contacts":"You must not have more than :number contacts","subscriptions_downgrade_rule_contacts_constraint":"You currently have 1 contact<\/a>.|You currently have :count contacts<\/a>.","subscriptions_downgrade_rule_invitations":"You must not have pending invitations","subscriptions_downgrade_rule_invitations_constraint":"You currently have 1 pending invitation<\/a> sent to people.|You currently have :count pending invitations<\/a> sent to people.","subscriptions_downgrade_rule_users":"You must have only 1 user in your account","subscriptions_downgrade_rule_users_constraint":"You currently have 1 user<\/a> in your account.|You currently have :count users<\/a> in your account.","subscriptions_downgrade_success":"You are back to the Free plan!","subscriptions_downgrade_thanks":"Thanks so much for having tried the paid plan. We keep adding new features on Monica all the time \u2013 so you might want to come back in the future to see if you might be interested in taking a subscription again.","subscriptions_downgrade_title":"Downgrade your account to the free plan","subscriptions_help_change_desc":"You can cancel anytime, no questions asked, and all by yourself \u2013 no need to contact support or whatever. However, you will not be refunded for the current period.","subscriptions_help_change_title":"What if I change my mind?","subscriptions_help_discounts_desc":"We do! Monica is free for students, and free for non-profits and charities. Just contact the support<\/a> with a proof of your status and we\u2019ll apply this special status in your account.","subscriptions_help_discounts_title":"Do you have discounts for non-profits and education?","subscriptions_help_limits_plan":"Yes. Free plans let you manage :number contacts.","subscriptions_help_limits_title":"Is there any limit to the number of contacts we can have on the free plan?","subscriptions_help_opensource_desc":"Monica is an open source project. This means it is built by an entirely benevolent community who just wants to provide a great tool for the greater good. Being open source means the code is publicly available on GitHub, and everyone can inspect it, modify it or enhance it. All the money we raise is dedicated to build better features, have more powerful servers, help pay the bills. Thanks for your help. We couldn\u2019t do it without you \u2013 literally.","subscriptions_help_opensource_title":"What is an open source project?","subscriptions_help_title":"Additional details you may be curious about","subscriptions_payment_cancelled":"This payment was cancelled.","subscriptions_payment_cancelled_title":"Payment Cancelled","subscriptions_payment_confirm_information":"Extra confirmation is needed to process your payment. Please confirm your payment by filling out your payment details below.","subscriptions_payment_confirm_title":"Confirm your :amount payment","subscriptions_payment_error_name":"Please provide your name.","subscriptions_payment_succeeded":"This payment was already successfully confirmed.","subscriptions_payment_succeeded_title":"Payment Successful","subscriptions_payment_success":"The payment was successful.","subscriptions_pdf_title":"Your :name monthly subscription","subscriptions_plan_choose":"Choose this plan","subscriptions_plan_include1":"Included with your upgrade:","subscriptions_plan_include2":"Unlimited number of contacts \u2022 Unlimited number of users \u2022 Reminders by email \u2022 Import with vCard \u2022 Personalization of the contact sheet","subscriptions_plan_include3":"100% of the profits go the development of this great open source project.","subscriptions_plan_month_bonus":"Cancel any time","subscriptions_plan_month_cost":"$5\/month","subscriptions_plan_month_title":"Pay monthly","subscriptions_plan_year_bonus":"Peace of mind for a whole year","subscriptions_plan_year_cost":"$45\/year","subscriptions_plan_year_cost_save":"you\u2019ll save 25%","subscriptions_plan_year_title":"Pay annually","subscriptions_upgrade_charge":"We\u2019ll charge your card :price now. The next charge will be on :date. If you ever change your mind, you can cancel anytime, no questions asked.","subscriptions_upgrade_charge_handled":"The payment is handled by Stripe<\/a>. No card information touches our server.","subscriptions_upgrade_choose":"You picked the :plan plan.","subscriptions_upgrade_credit":"Credit or debit card","subscriptions_upgrade_infos":"We couldn\u2019t be happier. Enter your payment info below.","subscriptions_upgrade_name":"Name on card","subscriptions_upgrade_submit":"Pay {amount}","subscriptions_upgrade_success":"Thank you! You are now subscribed.","subscriptions_upgrade_thanks":"Welcome to the community of people who try to make the world a better place.","subscriptions_upgrade_title":"Upgrade your account","subscriptions_upgrade_zip":"ZIP or postal code","tags_blank_description":"Tags work like folders, but you can add more than one tag to a contact. Go to a contact and tag a friend, right below the name. Once a contact is tagged, go back here to manage all the tags in your account.","tags_blank_title":"Tags are a great way of categorizing your contacts.","tags_list_contact_number":"1 contact|:count contacts","tags_list_delete_confirmation":"Are you sure you want to delete the tag? No contacts will be deleted, only the tag.","tags_list_delete_success":"The tag has been successfully deleted","tags_list_description":"You can organize your contacts by setting up tags. Tags work like folders, but you can add more than one tag to a contact. To add a new tag, add it on the contact itself.","tags_list_title":"Tags","temperature_scale":"Temperature scale","temperature_scale_celsius":"Celsius","temperature_scale_fahrenheit":"Fahrenheit","timezone":"Timezone","u2f_buttonAdvise":"If your security key has a button, press it.","u2f_delete_confirmation":"Are you sure you want to delete this key?","u2f_delete_success":"Key deleted","u2f_enable_description":"Add a new U2F security key","u2f_error_bad_request":"The visited URL doesn\u2019t match the App ID or your are not using HTTPS","u2f_error_configuration_unsupported":"Client configuration is not supported.","u2f_error_device_ineligible":"The presented device is not eligible for this request. For a registration request this may mean that the token is already registered, and for a sign request it may mean that the token does not know the presented key handle.","u2f_error_other_error":"An error occurred.","u2f_error_timeout":"Timeout reached before request could be satisfied.","u2f_insertKey":"Insert your security key.","u2f_key_name":"Key name:","u2f_key_name_help":"Give your key a name.","u2f_last_use":"Last use: {timestamp}","u2f_noButtonAdvise":"If it does not, remove it and insert it again.","u2f_success":"Your key is detected and validated.","u2f_title":"U2F security key","users_accept_title":"Accept invitation and create a new account","users_add_confirmation":"I confirm that I want to invite this user to my account. This person will access ALL my data and see exactly what I see.","users_add_cta":"Invite user by email","users_add_description":"This person will have the same rights as you do, including inviting other users and deleting them (including you). Therefore, make sure you trust this person.","users_add_email_field":"Enter the email of the person you want to invite","users_add_title":"Invite a new user by email to your account","users_blank_add_title":"Would you like to invite someone else?","users_blank_cta":"Invite someone","users_blank_description":"This person will have the same access that you have, and will be able to add, edit or delete contact information.","users_blank_title":"You are the only one who has access to this account.","users_error_already_invited":"You already have invited this user. Please choose another email address.","users_error_email_already_taken":"This email is already taken. Please choose another one","users_error_email_not_similar":"This is not the email of the person who\u2019ve invited you.","users_error_please_confirm":"Please confirm that you want to invite this user before proceeding with the invitation","users_invitation_deleted_confirmation_message":"The invitation has been successfully deleted","users_invitation_need_subscription":"Adding more users requires a subscription.","users_invitations_delete_confirmation":"Are you sure you want to delete this invitation?","users_list_add_user":"Invite a new user","users_list_delete_confirmation":"Are you sure to delete this user from your account?","users_list_invitations_explanation":"Below are the people you\u2019ve invited to join Monica as a collaborator.","users_list_invitations_invited_by":"invited by :name","users_list_invitations_sent_date":"sent on :date","users_list_invitations_title":"Pending invitations","users_list_title":"Users with access to your account","users_list_you":"That\u2019s you","webauthn_buttonAdvise":"If your security key has a button, press it.","webauthn_delete_confirmation":"Are you sure you want to delete this key?","webauthn_delete_success":"Key deleted","webauthn_enable_description":"Add a new security key","webauthn_error_already_used":"This key is already registered. It\u2019s not necessary to register it again.","webauthn_error_not_allowed":"The operation either timed out or was not allowed.","webauthn_insertKey":"Insert your security key.","webauthn_key_name":"Key name:","webauthn_key_name_help":"Give your key a name.","webauthn_last_use":"Last use: {timestamp}","webauthn_noButtonAdvise":"If it does not, remove it and insert it again.","webauthn_not_secured":"WebAuthn only supports secure connections. Please load this page with https scheme.","webauthn_not_supported":"Your browser doesn\u2019t currently support WebAuthn.","webauthn_success":"Your key is detected and validated.","webauthn_title":"Security key \u2014 WebAuthn protocol"},"validation":{"accepted":"The :attribute must be accepted.","active_url":"The :attribute is not a valid URL.","after":"The :attribute must be a date after :date.","after_or_equal":"The :attribute must be a date after or equal to :date.","alpha":"The :attribute may only contain letters.","alpha_dash":"The :attribute may only contain letters, numbers, and dashes.","alpha_num":"The :attribute may only contain letters and numbers.","array":"The :attribute must be an array.","attributes":[],"before":"The :attribute must be a date before :date.","before_or_equal":"The :attribute must be a date before or equal to :date.","between":{"array":"The :attribute must have between :min and :max items.","file":"The :attribute must be between :min and :max kilobytes.","numeric":"The :attribute must be between :min and :max.","string":"The :attribute must be between :min and :max characters."},"boolean":"The :attribute field must be true or false.","confirmed":"The :attribute confirmation does not match.","custom":{"attribute-name":{"rule-name":"custom-message"}},"date":"The :attribute is not a valid date.","date_format":"The :attribute does not match the format :format.","different":"The :attribute and :other must be different.","digits":"The :attribute must be :digits digits.","digits_between":"The :attribute must be between :min and :max digits.","dimensions":"The :attribute has invalid image dimensions.","distinct":"The :attribute field has a duplicate value.","email":"The :attribute must be a valid email address.","exists":"The selected :attribute is invalid.","file":"The :attribute must be a file.","filled":"The :attribute field must have a value.","image":"The :attribute must be an image.","in":"The selected :attribute is invalid.","in_array":"The :attribute field does not exist in :other.","integer":"The :attribute must be an integer.","ip":"The :attribute must be a valid IP address.","ipv4":"The :attribute must be a valid IPv4 address.","ipv6":"The :attribute must be a valid IPv6 address.","json":"The :attribute must be a valid JSON string.","max":{"array":"The :attribute may not have more than :max items.","file":"The :attribute may not be greater than :max kilobytes.","numeric":"The :attribute may not be greater than :max.","string":"The :attribute may not be greater than :max characters."},"mimes":"The :attribute must be a file of type: :values.","mimetypes":"The :attribute must be a file of type: :values.","min":{"array":"The :attribute must have at least :min items.","file":"The :attribute must be at least :min kilobytes.","numeric":"The :attribute must be at least :min.","string":"The :attribute must be at least :min characters."},"not_in":"The selected :attribute is invalid.","not_regex":"The :attribute format is invalid.","numeric":"The :attribute must be a number.","present":"The :attribute field must be present.","regex":"The :attribute format is invalid.","required":"The :attribute field is required.","required_if":"The :attribute field is required when :other is :value.","required_unless":"The :attribute field is required unless :other is in :values.","required_with":"The :attribute field is required when :values is present.","required_with_all":"The :attribute field is required when :values is present.","required_without":"The :attribute field is required when :values is not present.","required_without_all":"The :attribute field is required when none of :values are present.","same":"The :attribute and :other must match.","size":{"array":"The :attribute must contain :size items.","file":"The :attribute must be :size kilobytes.","numeric":"The :attribute must be :size.","string":"The :attribute must be :size characters."},"string":"The :attribute must be a string.","timezone":"The :attribute must be a valid zone.","unique":"The :attribute has already been taken.","uploaded":"The :attribute failed to upload.","url":"The :attribute format is invalid."}} diff --git a/public/js/vendor.js b/public/js/vendor.js index 54a9ffbaf43..21e7bd1e005 100644 --- a/public/js/vendor.js +++ b/public/js/vendor.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{"+s0g":function(e,t,o){!function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),o="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),n=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],p=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,n){return e?/-MMM-/.test(n)?o[e.month()]:t[e.month()]:t},monthsRegex:p,monthsShortRegex:p,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(o("wd/R"))},"0tRk":function(e,t,o){!function(e){"use strict";e.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(o("wd/R"))},"154d":function(e,t,o){"use strict";var n=o("Idci");o.n(n).a},"2SVd":function(e,t,o){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},"5oMp":function(e,t,o){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},"7pj7":function(e,t,o){var n;n=function(e){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var p=t[n]={i:n,l:!1,exports:{}};return e[n].call(p.exports,p,p.exports,o),p.l=!0,p.exports}return o.m=e,o.c=t,o.i=function(e){return e},o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist/",o(o.s=2)}([function(e,t){e.exports=function(e,t,o,n){var p,b=e=e||{},M=typeof e.default;"object"!==M&&"function"!==M||(p=e,b=e.default);var r="function"==typeof b?b.options:b;if(t&&(r.render=t.render,r.staticRenderFns=t.staticRenderFns),o&&(r._scopeId=o),n){var z=Object.create(r.computed||null);Object.keys(n).forEach(function(e){var t=n[e];z[e]=function(){return t}}),r.computed=z}return{esModule:p,exports:b,options:r}}},function(e,t,o){"use strict";o.d(t,"a",function(){return p});var n=o(20),p=new(o.n(n).a)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(3),p=o.n(n),b=o(1),M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r={install:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.installed){this.installed=!0,this.params=t,e.component(t.componentName||"notifications",p.a);var o=function(e){"string"==typeof e&&(e={title:"",text:e}),"object"===(void 0===e?"undefined":M(e))&&b.a.$emit("add",e)},n=t.name||"notify";e.prototype["$"+n]=o,e[n]=o}}};t.default=r},function(e,t,o){o(17);var n=o(0)(o(5),o(15),null,null);e.exports=n.exports},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"CssGroup",props:["name"]}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(2),p=o(1),b=o(9),M=o(7),r=o(13),z=o.n(r),i=o(12),a=o.n(i),c=o(8);var s=0,O=2,l={name:"Notifications",components:{VelocityGroup:z.a,CssGroup:a.a},props:{group:{type:String,default:""},width:{type:[Number,String],default:300},reverse:{type:Boolean,default:!1},position:{type:[String,Array],default:function(){return M.a.position}},classes:{type:String,default:"vue-notification"},animationType:{type:String,default:"css",validator:function(e){return"css"===e||"velocity"===e}},animation:{type:Object,default:function(){return M.a.velocityAnimation}},animationName:{type:String,default:M.a.cssAnimation},speed:{type:Number,default:300},cooldown:{type:Number,default:0},duration:{type:Number,default:3e3},delay:{type:Number,default:0},max:{type:Number,default:1/0},closeOnClick:{type:Boolean,default:!0}},data:function(){return{list:[],velocity:n.default.params.velocity}},mounted:function(){p.a.$on("add",this.addItem)},computed:{actualWidth:function(){return o.i(c.a)(this.width)},isVA:function(){return"velocity"===this.animationType},componentName:function(){return this.isVA?"VelocityGroup":"CssGroup"},styles:function(){var e,t,n,p=o.i(b.a)(this.position),M=p.x,r=p.y,z=this.actualWidth.value,i=this.actualWidth.type,a=(n="0px",(t=r)in(e={width:z+i})?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e);return"center"===M?a.left="calc(50% - "+z/2+i+")":a[M]="0px",a},active:function(){return this.list.filter(function(e){return e.state!==O})},botToTop:function(){return this.styles.hasOwnProperty("bottom")}},methods:{addItem:function(e){var t=this;if(e.group=e.group||"",this.group===e.group)if(e.clean||e.clear)this.destroyAll();else{var n="number"==typeof e.duration?e.duration:this.duration,p="number"==typeof e.speed?e.speed:this.speed,M=e.title,r=e.text,z=e.type,i=e.data,a={id:o.i(b.b)(),title:M,text:r,type:z,state:s,speed:p,length:n+2*p,data:i};n>=0&&(a.timer=setTimeout(function(){t.destroy(a)},a.length));var c=-1;(this.reverse?!this.botToTop:this.botToTop)?(this.list.push(a),this.active.length>this.max&&(c=0)):(this.list.unshift(a),this.active.length>this.max&&(c=this.active.length-1)),-1!==c&&this.destroy(this.active[c])}},notifyClass:function(e){return["vue-notification-template",this.classes,e.type]},notifyWrapperStyle:function(e){return this.isVA?null:{transition:"all "+e.speed+"ms"}},destroy:function(e){clearTimeout(e.timer),e.state=O,this.isVA||this.clean()},destroyAll:function(){this.active.forEach(this.destroy)},getAnimation:function(e,t){var o=this.animation[e];return"function"==typeof o?o.call(this,t):o},enter:function(e){var t=e.el,o=e.complete,n=this.getAnimation("enter",t);this.velocity(t,n,{duration:this.speed,complete:o})},leave:function(e){var t=e.el,o=e.complete,n=this.getAnimation("leave",t);this.velocity(t,n,{duration:this.speed,complete:o})},clean:function(){this.list=this.list.filter(function(e){return e.state!==O})}}};t.default=l},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"VelocityGroup",methods:{enter:function(e,t){this.$emit("enter",{el:e,complete:t})},leave:function(e,t){this.$emit("leave",{el:e,complete:t})},afterLeave:function(){this.$emit("afterLeave")}}}},function(e,t,o){"use strict";t.a={position:["top","right"],cssAnimation:"vn-fade",velocityAnimation:{enter:function(e){return{height:[e.clientHeight,0],opacity:[1,0]}},leave:{height:0,opacity:[0,1]}}}},function(e,t,o){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p=[{name:"px",regexp:new RegExp("^[-+]?[0-9]*.?[0-9]+px$")},{name:"%",regexp:new RegExp("^[-+]?[0-9]*.?[0-9]+%$")},{name:"px",regexp:new RegExp("^[-+]?[0-9]*.?[0-9]+$")}];t.a=function(e){switch(void 0===e?"undefined":n(e)){case"number":return{type:"px",value:e};case"string":return function(e){if("auto"===e)return{type:e,value:0};for(var t=0;to.parts.length&&(n.parts.length=o.parts.length)}else{var M=[];for(p=0;p=0){p=1;break}var M=o&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},p))}};function r(e){return e&&"[object Function]"==={}.toString.call(e)}function z(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?o[t]:o}function i(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function a(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=z(e),o=t.overflow,n=t.overflowX,p=t.overflowY;return/(auto|scroll|overlay)/.test(o+p+n)?e:a(i(e))}var c=o&&!(!window.MSInputMethodContext||!document.documentMode),s=o&&/MSIE 10/.test(navigator.userAgent);function O(e){return 11===e?c:10===e?s:c||s}function l(e){if(!e)return document.documentElement;for(var t=O(10)?document.body:null,o=e.offsetParent||null;o===t&&e.nextElementSibling;)o=(e=e.nextElementSibling).offsetParent;var n=o&&o.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TH","TD","TABLE"].indexOf(o.nodeName)&&"static"===z(o,"position")?l(o):o:e?e.ownerDocument.documentElement:document.documentElement}function d(e){return null!==e.parentNode?d(e.parentNode):e}function u(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,p=o?t:e,b=document.createRange();b.setStart(n,0),b.setEnd(p,0);var M,r,z=b.commonAncestorContainer;if(e!==z&&t!==z||n.contains(p))return"BODY"===(r=(M=z).nodeName)||"HTML"!==r&&l(M.firstElementChild)!==M?l(z):z;var i=d(e);return i.host?u(i.host,t):u(e,d(t).host)}function A(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",o=e.nodeName;if("BODY"===o||"HTML"===o){var n=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||n)[t]}return e[t]}function f(e,t){var o="x"===t?"Left":"Top",n="Left"===o?"Right":"Bottom";return parseFloat(e["border"+o+"Width"],10)+parseFloat(e["border"+n+"Width"],10)}function q(e,t,o,n){return Math.max(t["offset"+e],t["scroll"+e],o["client"+e],o["offset"+e],o["scroll"+e],O(10)?parseInt(o["offset"+e])+parseInt(n["margin"+("Height"===e?"Top":"Left")])+parseInt(n["margin"+("Height"===e?"Bottom":"Right")]):0)}function h(e){var t=e.body,o=e.documentElement,n=O(10)&&getComputedStyle(o);return{height:q("Height",t,o,n),width:q("Width",t,o,n)}}var W=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},m=function(){function e(e,t){for(var o=0;o2&&void 0!==arguments[2]&&arguments[2],n=O(10),p="HTML"===t.nodeName,b=y(e),M=y(t),r=a(e),i=z(t),c=parseFloat(i.borderTopWidth,10),s=parseFloat(i.borderLeftWidth,10);o&&p&&(M.top=Math.max(M.top,0),M.left=Math.max(M.left,0));var l=v({top:b.top-M.top-c,left:b.left-M.left-s,width:b.width,height:b.height});if(l.marginTop=0,l.marginLeft=0,!n&&p){var d=parseFloat(i.marginTop,10),u=parseFloat(i.marginLeft,10);l.top-=c-d,l.bottom-=c-d,l.left-=s-u,l.right-=s-u,l.marginTop=d,l.marginLeft=u}return(n&&!o?t.contains(r):t===r&&"BODY"!==r.nodeName)&&(l=function(e,t){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=A(t,"top"),p=A(t,"left"),b=o?-1:1;return e.top+=n*b,e.bottom+=n*b,e.left+=p*b,e.right+=p*b,e}(l,t)),l}function B(e){if(!e||!e.parentElement||O())return document.documentElement;for(var t=e.parentElement;t&&"none"===z(t,"transform");)t=t.parentElement;return t||document.documentElement}function X(e,t,o,n){var p=arguments.length>4&&void 0!==arguments[4]&&arguments[4],b={top:0,left:0},M=p?B(e):u(e,t);if("viewport"===n)b=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=e.ownerDocument.documentElement,n=R(e,o),p=Math.max(o.clientWidth,window.innerWidth||0),b=Math.max(o.clientHeight,window.innerHeight||0),M=t?0:A(o),r=t?0:A(o,"left");return v({top:M-n.top+n.marginTop,left:r-n.left+n.marginLeft,width:p,height:b})}(M,p);else{var r=void 0;"scrollParent"===n?"BODY"===(r=a(i(t))).nodeName&&(r=e.ownerDocument.documentElement):r="window"===n?e.ownerDocument.documentElement:n;var c=R(r,M,p);if("HTML"!==r.nodeName||function e(t){var o=t.nodeName;if("BODY"===o||"HTML"===o)return!1;if("fixed"===z(t,"position"))return!0;var n=i(t);return!!n&&e(n)}(M))b=c;else{var s=h(e.ownerDocument),O=s.height,l=s.width;b.top+=c.top-c.marginTop,b.bottom=O+c.top,b.left+=c.left-c.marginLeft,b.right=l+c.left}}var d="number"==typeof(o=o||0);return b.left+=d?o:o.left||0,b.top+=d?o:o.top||0,b.right-=d?o:o.right||0,b.bottom-=d?o:o.bottom||0,b}function L(e,t,o,n,p){var b=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var M=X(o,n,b,p),r={top:{width:M.width,height:t.top-M.top},right:{width:M.right-t.right,height:M.height},bottom:{width:M.width,height:M.bottom-t.bottom},left:{width:t.left-M.left,height:M.height}},z=Object.keys(r).map(function(e){return _({key:e},r[e],{area:(t=r[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),i=z.filter(function(e){var t=e.width,n=e.height;return t>=o.clientWidth&&n>=o.clientHeight}),a=i.length>0?i[0].key:z[0].key,c=e.split("-")[1];return a+(c?"-"+c:"")}function w(e,t,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return R(o,n?B(t):u(t,o),n)}function N(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),o=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),n=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+n,height:e.offsetHeight+o}}function T(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function x(e,t,o){o=o.split("-")[0];var n=N(e),p={width:n.width,height:n.height},b=-1!==["right","left"].indexOf(o),M=b?"top":"left",r=b?"left":"top",z=b?"height":"width",i=b?"width":"height";return p[M]=t[M]+t[z]/2-n[z]/2,p[r]=o===r?t[r]-n[i]:t[T(r)],p}function S(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function k(e,t,o){return(void 0===o?e:e.slice(0,function(e,t,o){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===o});var n=S(e,function(e){return e[t]===o});return e.indexOf(n)}(e,"name",o))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var o=e.function||e.fn;e.enabled&&r(o)&&(t.offsets.popper=v(t.offsets.popper),t.offsets.reference=v(t.offsets.reference),t=o(t,e))}),t}function C(e,t){return e.some(function(e){var o=e.name;return e.enabled&&o===t})}function H(e){for(var t=[!1,"ms","Webkit","Moz","O"],o=e.charAt(0).toUpperCase()+e.slice(1),n=0;n1&&void 0!==arguments[1]&&arguments[1],o=Y.indexOf(e),n=Y.slice(o+1).concat(Y.slice(0,o));return t?n.reverse():n}var G={FLIP:"flip",CLOCKWISE:"clockwise",COUNTERCLOCKWISE:"counterclockwise"};function K(e,t,o,n){var p=[0,0],b=-1!==["right","left"].indexOf(n),M=e.split(/(\+|\-)/).map(function(e){return e.trim()}),r=M.indexOf(S(M,function(e){return-1!==e.search(/,|\s/)}));M[r]&&-1===M[r].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var z=/\s*,\s*|\s+/,i=-1!==r?[M.slice(0,r).concat([M[r].split(z)[0]]),[M[r].split(z)[1]].concat(M.slice(r+1))]:[M];return(i=i.map(function(e,n){var p=(1===n?!b:b)?"height":"width",M=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,M=!0,e):M?(e[e.length-1]+=t,M=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,o,n){var p=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),b=+p[1],M=p[2];if(!b)return e;if(0===M.indexOf("%")){var r=void 0;switch(M){case"%p":r=o;break;case"%":case"%r":default:r=n}return v(r)[t]/100*b}if("vh"===M||"vw"===M)return("vh"===M?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*b;return b}(e,p,t,o)})})).forEach(function(e,t){e.forEach(function(o,n){P(o)&&(p[t]+=o*("-"===e[n-1]?-1:1))})}),p}var Q={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,o=t.split("-")[0],n=t.split("-")[1];if(n){var p=e.offsets,b=p.reference,M=p.popper,r=-1!==["bottom","top"].indexOf(o),z=r?"left":"top",i=r?"width":"height",a={start:g({},z,b[z]),end:g({},z,b[z]+b[i]-M[i])};e.offsets.popper=_({},M,a[n])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var o=t.offset,n=e.placement,p=e.offsets,b=p.popper,M=p.reference,r=n.split("-")[0],z=void 0;return z=P(+o)?[+o,0]:K(o,b,M,r),"left"===r?(b.top+=z[0],b.left-=z[1]):"right"===r?(b.top+=z[0],b.left+=z[1]):"top"===r?(b.left+=z[0],b.top-=z[1]):"bottom"===r&&(b.left+=z[0],b.top+=z[1]),e.popper=b,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var o=t.boundariesElement||l(e.instance.popper);e.instance.reference===o&&(o=l(o));var n=H("transform"),p=e.instance.popper.style,b=p.top,M=p.left,r=p[n];p.top="",p.left="",p[n]="";var z=X(e.instance.popper,e.instance.reference,t.padding,o,e.positionFixed);p.top=b,p.left=M,p[n]=r,t.boundaries=z;var i=t.priority,a=e.offsets.popper,c={primary:function(e){var o=a[e];return a[e]z[e]&&!t.escapeWithReference&&(n=Math.min(a[o],z[e]-("right"===e?a.width:a.height))),g({},o,n)}};return i.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";a=_({},a,c[t](e))}),e.offsets.popper=a,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,p=e.placement.split("-")[0],b=Math.floor,M=-1!==["top","bottom"].indexOf(p),r=M?"right":"bottom",z=M?"left":"top",i=M?"width":"height";return o[r]b(n[r])&&(e.offsets.popper[z]=b(n[r])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var o;if(!V(e.instance.modifiers,"arrow","keepTogether"))return e;var n=t.element;if("string"==typeof n){if(!(n=e.instance.popper.querySelector(n)))return e}else if(!e.instance.popper.contains(n))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var p=e.placement.split("-")[0],b=e.offsets,M=b.popper,r=b.reference,i=-1!==["left","right"].indexOf(p),a=i?"height":"width",c=i?"Top":"Left",s=c.toLowerCase(),O=i?"left":"top",l=i?"bottom":"right",d=N(n)[a];r[l]-dM[l]&&(e.offsets.popper[s]+=r[s]+d-M[l]),e.offsets.popper=v(e.offsets.popper);var u=r[s]+r[a]/2-d/2,A=z(e.instance.popper),f=parseFloat(A["margin"+c],10),q=parseFloat(A["border"+c+"Width"],10),h=u-e.offsets.popper[s]-f-q;return h=Math.max(Math.min(M[a]-d,h),0),e.arrowElement=n,e.offsets.arrow=(g(o={},s,Math.round(h)),g(o,O,""),o),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(C(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=X(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split("-")[0],p=T(n),b=e.placement.split("-")[1]||"",M=[];switch(t.behavior){case G.FLIP:M=[n,p];break;case G.CLOCKWISE:M=$(n);break;case G.COUNTERCLOCKWISE:M=$(n,!0);break;default:M=t.behavior}return M.forEach(function(r,z){if(n!==r||M.length===z+1)return e;n=e.placement.split("-")[0],p=T(n);var i=e.offsets.popper,a=e.offsets.reference,c=Math.floor,s="left"===n&&c(i.right)>c(a.left)||"right"===n&&c(i.left)c(a.top)||"bottom"===n&&c(i.top)c(o.right),d=c(i.top)c(o.bottom),A="left"===n&&O||"right"===n&&l||"top"===n&&d||"bottom"===n&&u,f=-1!==["top","bottom"].indexOf(n),q=!!t.flipVariations&&(f&&"start"===b&&O||f&&"end"===b&&l||!f&&"start"===b&&d||!f&&"end"===b&&u),h=!!t.flipVariationsByContent&&(f&&"start"===b&&l||f&&"end"===b&&O||!f&&"start"===b&&u||!f&&"end"===b&&d),W=q||h;(s||A||W)&&(e.flipped=!0,(s||A)&&(n=M[z+1]),W&&(b=function(e){return"end"===e?"start":"start"===e?"end":e}(b)),e.placement=n+(b?"-"+b:""),e.offsets.popper=_({},e.offsets.popper,x(e.instance.popper,e.offsets.reference,e.placement)),e=k(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split("-")[0],n=e.offsets,p=n.popper,b=n.reference,M=-1!==["left","right"].indexOf(o),r=-1===["top","left"].indexOf(o);return p[M?"left":"top"]=b[o]-(r?p[M?"width":"height"]:0),e.placement=T(t),e.offsets.popper=v(p),e}},hide:{order:800,enabled:!0,fn:function(e){if(!V(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,o=S(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};W(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=M(this.update.bind(this)),this.options=_({},e.Defaults,p),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=o&&o.jquery?o[0]:o,this.options.modifiers={},Object.keys(_({},e.Defaults.modifiers,p.modifiers)).forEach(function(t){n.options.modifiers[t]=_({},e.Defaults.modifiers[t]||{},p.modifiers?p.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return _({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&r(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var b=this.options.eventsEnabled;b&&this.enableEventListeners(),this.state.eventsEnabled=b}return m(e,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=w(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=L(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=x(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=k(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,C(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.position="",this.popper.style.top="",this.popper.style.left="",this.popper.style.right="",this.popper.style.bottom="",this.popper.style.willChange="",this.popper.style[H("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=D(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return E.call(this)}}]),e}();J.Utils=("undefined"!=typeof window?window:e).PopperUtils,J.placements=U,J.Defaults=Q,t.default=J}.call(this,o("yLpj"))},"8gbZ":function(e,t,o){var n;n=function(){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var p=t[n]={i:n,l:!1,exports:{}};return e[n].call(p.exports,p,p.exports,o),p.l=!0,p.exports}return o.m=e,o.c=t,o.i=function(e){return e},o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/dist/",o(o.s=2)}([function(e,t,o){o(7);var n=o(5)(o(1),o(6),"data-v-25adc6c0",null);e.exports=n.exports},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p=function(e,t){return"object"===(void 0===e?"undefined":n(e))&&e.hasOwnProperty(t)},b=function(e){return e+"px"},M=function(e,t){return"translate3d("+e+", "+t+", "+(arguments.length>2&&void 0!==arguments[2]?arguments[2]:"0px")+")"};t.default={name:"ToggleButton",props:{value:{type:Boolean,default:!1},name:{type:String},disabled:{type:Boolean,default:!1},sync:{type:Boolean,default:!1},speed:{type:Number,default:300},color:{type:[String,Object],validator:function(e){return"object"===(void 0===e?"undefined":n(e))?e.checked||e.unchecked||e.disabled:"string"==typeof e}},switchColor:{type:[String,Object],validator:function(e){return"object"===(void 0===e?"undefined":n(e))?e.checked||e.unchecked:"string"==typeof e}},cssColors:{type:Boolean,default:!1},labels:{type:[Boolean,Object],default:!1,validator:function(e){return"object"===(void 0===e?"undefined":n(e))?e.checked||e.unchecked:"boolean"==typeof e}},height:{type:Number,default:22},width:{type:Number,default:50},margin:{type:Number,default:3},fontSize:{type:Number}},computed:{className:function(){return["vue-js-switch",{toggled:this.toggled,disabled:this.disabled}]},coreStyle:function(){return{width:b(this.width),height:b(this.height),backgroundColor:this.cssColors?null:this.disabled?this.colorDisabled:this.colorCurrent,borderRadius:b(Math.round(this.height/2))}},buttonRadius:function(){return this.height-2*this.margin},distance:function(){return b(this.width-this.height+this.margin)},buttonStyle:function(){var e="transform "+this.speed+"ms",t=b(this.margin),o=this.toggled?M(this.distance,t):M(t,t),n=this.switchColor?this.switchColorCurrent:null;return{width:b(this.buttonRadius),height:b(this.buttonRadius),transition:e,transform:o,background:n}},labelStyle:function(){return{lineHeight:b(this.height),fontSize:this.fontSize?b(this.fontSize):null}},colorChecked:function(){var e=this.color;return"object"!==(void 0===e?"undefined":n(e))?e||"#75c791":p(e,"checked")?e.checked:"#75c791"},colorUnchecked:function(){var e=this.color;return p(e,"unchecked")?e.unchecked:"#bfcbd9"},colorDisabled:function(){var e=this.color;return p(e,"disabled")?e.disabled:this.colorCurrent},colorCurrent:function(){return this.toggled?this.colorChecked:this.colorUnchecked},labelChecked:function(){var e=this.labels;return p(e,"checked")?e.checked:"on"},labelUnchecked:function(){var e=this.labels;return p(e,"unchecked")?e.unchecked:"off"},switchColorChecked:function(){var e=this.switchColor;return p(e,"checked")?e.checked:"#fff"},switchColorUnchecked:function(){var e=this.switchColor;return p(e,"unchecked")?e.unchecked:"#fff"},switchColorCurrent:function(){var e=this.switchColor;return"object"!==(void 0===e?"undefined":n(e))?e||"#fff":this.toggled?this.switchColorChecked:this.switchColorUnchecked}},watch:{value:function(e){this.sync&&(this.toggled=!!e)}},data:function(){return{toggled:!!this.value}},methods:{toggle:function(e){this.toggled=!this.toggled,this.$emit("input",this.toggled),this.$emit("change",{value:this.toggled,srcEvent:e})}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(0),p=o.n(n);o.d(t,"ToggleButton",function(){return p.a});var b=!1;t.default={install:function(e){b||(e.component("ToggleButton",p.a),b=!0)}}},function(e,t,o){(e.exports=o(4)()).push([e.i,".vue-js-switch[data-v-25adc6c0]{display:inline-block;position:relative;vertical-align:middle;user-select:none;font-size:10px;cursor:pointer}.vue-js-switch .v-switch-input[data-v-25adc6c0]{opacity:0;position:absolute;width:1px;height:1px}.vue-js-switch .v-switch-label[data-v-25adc6c0]{position:absolute;top:0;font-weight:600;color:#fff;z-index:1}.vue-js-switch .v-switch-label.v-left[data-v-25adc6c0]{left:10px}.vue-js-switch .v-switch-label.v-right[data-v-25adc6c0]{right:10px}.vue-js-switch .v-switch-core[data-v-25adc6c0]{display:block;position:relative;box-sizing:border-box;outline:0;margin:0;transition:border-color .3s,background-color .3s;user-select:none}.vue-js-switch .v-switch-core .v-switch-button[data-v-25adc6c0]{display:block;position:absolute;overflow:hidden;top:0;left:0;border-radius:100%;background-color:#fff;z-index:2}.vue-js-switch.disabled[data-v-25adc6c0]{pointer-events:none;opacity:.6}",""])},function(e,t){e.exports=function(){var e=[];return e.toString=function(){for(var e=[],t=0;to.parts.length&&(n.parts.length=o.parts.length)}else{var M=[];for(p=0;p1)for(var o=1;o-1&&e%1==0&&e-1&&e%1==0&&e<=M}(e.length)&&!function(e){var t=function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)?u.call(e):"";return t==z||t==i}(e)}function B(e){return R(e)?q(e):_(e)}function X(e){return e}var L=function(e,t){return(y(e)?c:m)(e,"function"==typeof t?t:X)},w=9007199254740991,N="[object Arguments]",T="[object Function]",x="[object GeneratorFunction]",S=/^(?:0|[1-9]\d*)$/;var k=Object.prototype,C=k.hasOwnProperty,H=k.toString,F=k.propertyIsEnumerable,D=function(e,t){return function(o){return e(t(o))}}(Object.keys,Object),E=Math.max,P=!F.call({valueOf:1},"valueOf");function I(e,t){var o=$(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&G(e)}(e)&&C.call(e,"callee")&&(!F.call(e,"callee")||H.call(e)==N)}(e)?function(e,t){for(var o=-1,n=Array(e);++o-1&&e%1==0&&e-1&&e%1==0&&e<=w}(e.length)&&!function(e){var t=K(e)?H.call(e):"";return t==T||t==x}(e)}function K(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var Q=function(e){return t=function(t,o){var n=-1,p=o.length,b=p>1?o[p-1]:void 0,M=p>2?o[2]:void 0;for(b=e.length>3&&"function"==typeof b?(p--,b):void 0,M&&function(e,t,o){if(!K(o))return!1;var n=typeof t;return!!("number"==n?G(o)&&V(t,o.length):"string"==n&&t in o)&&Y(o[t],e)}(o[0],o[1],M)&&(b=p<3?void 0:b,p=1),t=Object(t);++n-1},ye.prototype.set=function(e,t){var o=this.__data__,n=we(o,e);return n<0?o.push([e,t]):o[n][1]=t,this},Re.prototype.clear=function(){this.__data__={hash:new ve,map:new(Oe||ye),string:new ve}},Re.prototype.delete=function(e){return ke(this,e).delete(e)},Re.prototype.get=function(e){return ke(this,e).get(e)},Re.prototype.has=function(e){return ke(this,e).has(e)},Re.prototype.set=function(e,t){return ke(this,e).set(e,t),this},Be.prototype.clear=function(){this.__data__=new ye},Be.prototype.delete=function(e){return this.__data__.delete(e)},Be.prototype.get=function(e){return this.__data__.get(e)},Be.prototype.has=function(e){return this.__data__.has(e)},Be.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ye){var p=n.__data__;if(!Oe||p.length-1&&e%1==0&&e-1&&e%1==0&&e<=p}(e.length)&&!Ye(e)}var Ue=ae||function(){return!1};function Ye(e){var t=$e(e)?ee.call(e):"";return t==z||t==i}function $e(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ge(e){return Ve(e)?Xe(e):function(e){if(!Ee(e))return ce(e);var t=[];for(var o in Object(e))Z.call(e,o)&&"constructor"!=o&&t.push(o);return t}(e)}e.exports=function(e){return Ne(e,!0,!0)}}),te=Z(function(e,t){var o=200,n="Expected a function",p="__lodash_hash_undefined__",b=1,M=2,r=1/0,z=9007199254740991,i="[object Arguments]",a="[object Array]",c="[object Boolean]",s="[object Date]",O="[object Error]",l="[object Function]",d="[object GeneratorFunction]",u="[object Map]",A="[object Number]",f="[object Object]",q="[object RegExp]",h="[object Set]",W="[object String]",m="[object Symbol]",g="[object ArrayBuffer]",_="[object DataView]",v=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,y=/^\w*$/,R=/^\./,B=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,X=/\\(\\)?/g,L=/^\[object .+?Constructor\]$/,w=/^(?:0|[1-9]\d*)$/,N={};N["[object Float32Array]"]=N["[object Float64Array]"]=N["[object Int8Array]"]=N["[object Int16Array]"]=N["[object Int32Array]"]=N["[object Uint8Array]"]=N["[object Uint8ClampedArray]"]=N["[object Uint16Array]"]=N["[object Uint32Array]"]=!0,N[i]=N[a]=N[g]=N[c]=N[_]=N[s]=N[O]=N[l]=N[u]=N[A]=N[f]=N[q]=N[h]=N[W]=N["[object WeakMap]"]=!1;var T="object"==typeof J&&J&&J.Object===Object&&J,x="object"==typeof self&&self&&self.Object===Object&&self,S=T||x||Function("return this")(),k=t&&!t.nodeType&&t,C=k&&e&&!e.nodeType&&e,H=C&&C.exports===k&&T.process,F=function(){try{return H&&H.binding("util")}catch(e){}}(),D=F&&F.isTypedArray;function E(e,t){for(var o=-1,n=e?e.length:0,p=0,b=[];++o-1},ve.prototype.set=function(e,t){var o=this.__data__,n=Le(o,e);return n<0?o.push([e,t]):o[n][1]=t,this},ye.prototype.clear=function(){this.__data__={hash:new _e,map:new(ce||ve),string:new _e}},ye.prototype.delete=function(e){return je(this,e).delete(e)},ye.prototype.get=function(e){return je(this,e).get(e)},ye.prototype.has=function(e){return je(this,e).has(e)},ye.prototype.set=function(e,t){return je(this,e).set(e,t),this},Re.prototype.add=Re.prototype.push=function(e){return this.__data__.set(e,p),this},Re.prototype.has=function(e){return this.__data__.has(e)},Be.prototype.clear=function(){this.__data__=new ve},Be.prototype.delete=function(e){return this.__data__.delete(e)},Be.prototype.get=function(e){return this.__data__.get(e)},Be.prototype.has=function(e){return this.__data__.has(e)},Be.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ve){var p=n.__data__;if(!ce||p.lengthi))return!1;var c=r.get(e);if(c&&r.get(t))return c==t;var s=-1,O=!0,l=p&b?new Re:void 0;for(r.set(e,t),r.set(t,e);++s-1&&e%1==0&&e-1&&e%1==0&&e<=z}function rt(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function zt(e){return!!e&&"object"==typeof e}function it(e){return"symbol"==typeof e||zt(e)&&ne.call(e)==m}var at=D?function(e){return function(t){return e(t)}}(D):function(e){return zt(e)&&Mt(e.length)&&!!N[ne.call(e)]};function ct(e){return pt(e)?Xe(e):Ee(e)}function st(e){return e}e.exports=function(e,t){return(nt(e)?E:xe)(e,De(t))}}),oe=Z(function(e,t){var o=200,n="__lodash_hash_undefined__",p=1,b=2,M=9007199254740991,r="[object Arguments]",z="[object Array]",i="[object AsyncFunction]",a="[object Boolean]",c="[object Date]",s="[object Error]",O="[object Function]",l="[object GeneratorFunction]",d="[object Map]",u="[object Number]",A="[object Null]",f="[object Object]",q="[object Proxy]",h="[object RegExp]",W="[object Set]",m="[object String]",g="[object Symbol]",_="[object Undefined]",v="[object ArrayBuffer]",y="[object DataView]",R=/^\[object .+?Constructor\]$/,B=/^(?:0|[1-9]\d*)$/,X={};X["[object Float32Array]"]=X["[object Float64Array]"]=X["[object Int8Array]"]=X["[object Int16Array]"]=X["[object Int32Array]"]=X["[object Uint8Array]"]=X["[object Uint8ClampedArray]"]=X["[object Uint16Array]"]=X["[object Uint32Array]"]=!0,X[r]=X[z]=X[v]=X[a]=X[y]=X[c]=X[s]=X[O]=X[d]=X[u]=X[f]=X[h]=X[W]=X[m]=X["[object WeakMap]"]=!1;var L="object"==typeof J&&J&&J.Object===Object&&J,w="object"==typeof self&&self&&self.Object===Object&&self,N=L||w||Function("return this")(),T=t&&!t.nodeType&&t,x=T&&e&&!e.nodeType&&e,S=x&&x.exports===T,k=S&&L.process,C=function(){try{return k&&k.binding&&k.binding("util")}catch(e){}}(),H=C&&C.isTypedArray;function F(e,t){for(var o=-1,n=null==e?0:e.length;++oi))return!1;var c=r.get(e);if(c&&r.get(t))return c==t;var s=-1,O=!0,l=o&b?new ye:void 0;for(r.set(e,t),r.set(t,e);++s-1},_e.prototype.set=function(e,t){var o=this.__data__,n=Xe(o,e);return n<0?(++this.size,o.push([e,t])):o[n][1]=t,this},ve.prototype.clear=function(){this.size=0,this.__data__={hash:new ge,map:new(ce||_e),string:new ge}},ve.prototype.delete=function(e){var t=Ce(this,e).delete(e);return this.size-=t?1:0,t},ve.prototype.get=function(e){return Ce(this,e).get(e)},ve.prototype.has=function(e){return Ce(this,e).has(e)},ve.prototype.set=function(e,t){var o=Ce(this,e),n=o.size;return o.set(e,t),this.size+=o.size==n?0:1,this},ye.prototype.add=ye.prototype.push=function(e){return this.__data__.set(e,n),this},ye.prototype.has=function(e){return this.__data__.has(e)},Re.prototype.clear=function(){this.__data__=new _e,this.size=0},Re.prototype.delete=function(e){var t=this.__data__,o=t.delete(e);return this.size=t.size,o},Re.prototype.get=function(e){return this.__data__.get(e)},Re.prototype.has=function(e){return this.__data__.has(e)},Re.prototype.set=function(e,t){var n=this.__data__;if(n instanceof _e){var p=n.__data__;if(!ce||p.length-1&&e%1==0&&e-1&&e%1==0&&e<=M}function Ge(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ke(e){return null!=e&&"object"==typeof e}var Qe=H?function(e){return function(t){return e(t)}}(H):function(e){return Ke(e)&&$e(e.length)&&!!X[Le(e)]};function Je(e){return null!=(t=e)&&$e(t.length)&&!Ye(t)?Be(e):xe(e);var t}e.exports=function(e,t){return Ne(e,t)}}),ne={a:["a","à","á","â","ã","ä","å","æ","ā","ă","ą","ǎ","ǟ","ǡ","ǻ","ȁ","ȃ","ȧ","ɐ","ɑ","ɒ","ͣ","а","ӑ","ӓ","ᵃ","ᵄ","ᶏ","ḁ","ẚ","ạ","ả","ấ","ầ","ẩ","ẫ","ậ","ắ","ằ","ẳ","ẵ","ặ","ₐ","ⱥ","a"],A:["A","À","Á","Â","Ã","Ä","Å","Ā","Ă","Ą","Ǎ","Ǟ","Ǡ","Ǻ","Ȁ","Ȃ","Ȧ","Ⱥ","А","Ӑ","Ӓ","ᴀ","ᴬ","Ḁ","Ạ","Ả","Ấ","Ầ","Ẩ","Ẫ","Ậ","Ắ","Ằ","Ẳ","Ẵ","Ặ","A"],b:["b","ƀ","ƃ","ɓ","ᖯ","ᵇ","ᵬ","ᶀ","ḃ","ḅ","ḇ","b"],B:["B","Ɓ","Ƃ","Ƀ","ʙ","ᛒ","ᴃ","ᴮ","ᴯ","Ḃ","Ḅ","Ḇ","B"],c:["c","ç","ć","ĉ","ċ","č","ƈ","ȼ","ɕ","ͨ","ᴄ","ᶜ","ḉ","ↄ","c"],C:["C","Ç","Ć","Ĉ","Ċ","Č","Ƈ","Ȼ","ʗ","Ḉ","C"],d:["d","ď","đ","Ƌ","ƌ","ȡ","ɖ","ɗ","ͩ","ᵈ","ᵭ","ᶁ","ᶑ","ḋ","ḍ","ḏ","ḑ","ḓ","d"],D:["D","Ď","Đ","Ɖ","Ɗ","ᴰ","Ḋ","Ḍ","Ḏ","Ḑ","Ḓ","D"],e:["e","è","é","ê","ë","ē","ĕ","ė","ę","ě","ǝ","ȅ","ȇ","ȩ","ɇ","ɘ","ͤ","ᵉ","ᶒ","ḕ","ḗ","ḙ","ḛ","ḝ","ẹ","ẻ","ẽ","ế","ề","ể","ễ","ệ","ₑ","e"],E:["E","È","É","Ê","Ë","Ē","Ĕ","Ė","Ę","Ě","Œ","Ǝ","Ɛ","Ȅ","Ȇ","Ȩ","Ɇ","ɛ","ɜ","ɶ","Є","Э","э","є","Ӭ","ӭ","ᴇ","ᴈ","ᴱ","ᴲ","ᵋ","ᵌ","ᶓ","ᶔ","ᶟ","Ḕ","Ḗ","Ḙ","Ḛ","Ḝ","Ẹ","Ẻ","Ẽ","Ế","Ề","Ể","Ễ","Ệ","E","𐐁","𐐩"],f:["f","ƒ","ᵮ","ᶂ","ᶠ","ḟ","f"],F:["F","Ƒ","Ḟ","ⅎ","F"],g:["g","ĝ","ğ","ġ","ģ","ǥ","ǧ","ǵ","ɠ","ɡ","ᵍ","ᵷ","ᵹ","ᶃ","ᶢ","ḡ","g"],G:["G","Ĝ","Ğ","Ġ","Ģ","Ɠ","Ǥ","Ǧ","Ǵ","ɢ","ʛ","ᴳ","Ḡ","G"],h:["h","ĥ","ħ","ƕ","ȟ","ɥ","ɦ","ʮ","ʯ","ʰ","ʱ","ͪ","Һ","һ","ᑋ","ᶣ","ḣ","ḥ","ḧ","ḩ","ḫ","ⱨ","h"],H:["H","Ĥ","Ħ","Ȟ","ʜ","ᕼ","ᚺ","ᚻ","ᴴ","Ḣ","Ḥ","Ḧ","Ḩ","Ḫ","Ⱨ","H"],i:["i","ì","í","î","ï","ĩ","ī","ĭ","į","ǐ","ȉ","ȋ","ɨ","ͥ","ᴉ","ᵎ","ᵢ","ᶖ","ᶤ","ḭ","ḯ","ỉ","ị","i"],I:["I","Ì","Í","Î","Ï","Ĩ","Ī","Ĭ","Į","İ","Ǐ","Ȉ","Ȋ","ɪ","І","ᴵ","ᵻ","ᶦ","ᶧ","Ḭ","Ḯ","Ỉ","Ị","I"],j:["j","ĵ","ǰ","ɉ","ʝ","ʲ","ᶡ","ᶨ","j"],J:["J","Ĵ","ᴊ","ᴶ","J"],k:["k","ķ","ƙ","ǩ","ʞ","ᵏ","ᶄ","ḱ","ḳ","ḵ","ⱪ","k"],K:["K","Ķ","Ƙ","Ǩ","ᴷ","Ḱ","Ḳ","Ḵ","Ⱪ","K"],l:["l","ĺ","ļ","ľ","ŀ","ł","ƚ","ȴ","ɫ","ɬ","ɭ","ˡ","ᶅ","ᶩ","ᶪ","ḷ","ḹ","ḻ","ḽ","ℓ","ⱡ"],L:["L","Ĺ","Ļ","Ľ","Ŀ","Ł","Ƚ","ʟ","ᴌ","ᴸ","ᶫ","Ḷ","Ḹ","Ḻ","Ḽ","Ⱡ","Ɫ"],m:["m","ɯ","ɰ","ɱ","ͫ","ᴟ","ᵐ","ᵚ","ᵯ","ᶆ","ᶬ","ᶭ","ḿ","ṁ","ṃ","㎡","㎥","m"],M:["M","Ɯ","ᴍ","ᴹ","Ḿ","Ṁ","Ṃ","M"],n:["n","ñ","ń","ņ","ň","ʼn","ƞ","ǹ","ȵ","ɲ","ɳ","ᵰ","ᶇ","ᶮ","ᶯ","ṅ","ṇ","ṉ","ṋ","ⁿ","n"],N:["N","Ñ","Ń","Ņ","Ň","Ɲ","Ǹ","Ƞ","ɴ","ᴎ","ᴺ","ᴻ","ᶰ","Ṅ","Ṇ","Ṉ","Ṋ","N"],o:["o","ò","ó","ô","õ","ö","ø","ō","ŏ","ő","ơ","ǒ","ǫ","ǭ","ǿ","ȍ","ȏ","ȫ","ȭ","ȯ","ȱ","ɵ","ͦ","о","ӧ","ө","ᴏ","ᴑ","ᴓ","ᴼ","ᵒ","ᶱ","ṍ","ṏ","ṑ","ṓ","ọ","ỏ","ố","ồ","ổ","ỗ","ộ","ớ","ờ","ở","ỡ","ợ","ₒ","o","𐐬"],O:["O","Ò","Ó","Ô","Õ","Ö","Ø","Ō","Ŏ","Ő","Ɵ","Ơ","Ǒ","Ǫ","Ǭ","Ǿ","Ȍ","Ȏ","Ȫ","Ȭ","Ȯ","Ȱ","О","Ӧ","Ө","Ṍ","Ṏ","Ṑ","Ṓ","Ọ","Ỏ","Ố","Ồ","Ổ","Ỗ","Ộ","Ớ","Ờ","Ở","Ỡ","Ợ","O","𐐄"],p:["p","ᵖ","ᵱ","ᵽ","ᶈ","ṕ","ṗ","p"],P:["P","Ƥ","ᴘ","ᴾ","Ṕ","Ṗ","Ᵽ","P"],q:["q","ɋ","ʠ","ᛩ","q"],Q:["Q","Ɋ","Q"],r:["r","ŕ","ŗ","ř","ȑ","ȓ","ɍ","ɹ","ɻ","ʳ","ʴ","ʵ","ͬ","ᵣ","ᵲ","ᶉ","ṙ","ṛ","ṝ","ṟ"],R:["R","Ŕ","Ŗ","Ř","Ʀ","Ȑ","Ȓ","Ɍ","ʀ","ʁ","ʶ","ᚱ","ᴙ","ᴚ","ᴿ","Ṙ","Ṛ","Ṝ","Ṟ","Ɽ"],s:["s","ś","ŝ","ş","š","ș","ʂ","ᔆ","ᶊ","ṡ","ṣ","ṥ","ṧ","ṩ","s"],S:["S","Ś","Ŝ","Ş","Š","Ș","ȿ","ˢ","ᵴ","Ṡ","Ṣ","Ṥ","Ṧ","Ṩ","S"],t:["t","ţ","ť","ŧ","ƫ","ƭ","ț","ʇ","ͭ","ᵀ","ᵗ","ᵵ","ᶵ","ṫ","ṭ","ṯ","ṱ","ẗ","t"],T:["T","Ţ","Ť","Ƭ","Ʈ","Ț","Ⱦ","ᴛ","ᵀ","Ṫ","Ṭ","Ṯ","Ṱ","T"],u:["u","ù","ú","û","ü","ũ","ū","ŭ","ů","ű","ų","ư","ǔ","ǖ","ǘ","ǚ","ǜ","ȕ","ȗ","ͧ","ߎ","ᵘ","ᵤ","ṳ","ṵ","ṷ","ṹ","ṻ","ụ","ủ","ứ","ừ","ử","ữ","ự","u"],U:["U","Ù","Ú","Û","Ü","Ũ","Ū","Ŭ","Ů","Ű","Ų","Ư","Ǔ","Ǖ","Ǘ","Ǚ","Ǜ","Ȕ","Ȗ","Ʉ","ᴜ","ᵁ","ᵾ","Ṳ","Ṵ","Ṷ","Ṹ","Ṻ","Ụ","Ủ","Ứ","Ừ","Ử","Ữ","Ự","U"],v:["v","ʋ","ͮ","ᵛ","ᵥ","ᶹ","ṽ","ṿ","ⱱ","v","ⱴ"],V:["V","Ʋ","Ʌ","ʌ","ᴠ","ᶌ","Ṽ","Ṿ","V"],w:["w","ŵ","ʷ","ᵂ","ẁ","ẃ","ẅ","ẇ","ẉ","ẘ","ⱳ","w"],W:["W","Ŵ","ʍ","ᴡ","Ẁ","Ẃ","Ẅ","Ẇ","Ẉ","Ⱳ","W"],x:["x","̽","͓","ᶍ","ͯ","ẋ","ẍ","ₓ","x"],X:["X","ˣ","ͯ","Ẋ","Ẍ","☒","✕","✖","✗","✘","X"],y:["y","ý","ÿ","ŷ","ȳ","ɏ","ʸ","ẏ","ỳ","ỵ","ỷ","ỹ","y"],Y:["Y","Ý","Ŷ","Ÿ","Ƴ","ƴ","Ȳ","Ɏ","ʎ","ʏ","Ẏ","Ỳ","Ỵ","Ỷ","Ỹ","Y"],z:["z","ź","ż","ž","ƶ","ȥ","ɀ","ʐ","ʑ","ᙆ","ᙇ","ᶻ","ᶼ","ᶽ","ẑ","ẓ","ẕ","ⱬ","z"],Z:["Z","Ź","Ż","Ž","Ƶ","Ȥ","ᴢ","ᵶ","Ẑ","Ẓ","Ẕ","Ⱬ","Z"]},pe=function(e){for(var t=[],o=0;o2&&void 0!==arguments[2]&&arguments[2];if(null==e)return!1;var n=o?String(e).toLowerCase():pe(be(String(e)).toLowerCase()),p=o?t.toLowerCase():pe(be(t).toLowerCase());return n.indexOf(p)>-1},compare:function(e,t){function o(e){return null==e?"":pe(e.toLowerCase())}return(e=o(e))<(t=o(t))?-1:e>t?1:0}};var re=function(e,t,o,n,p,b,M,r,z,i){"boolean"!=typeof M&&(z=r,r=M,M=!1);var a,c="function"==typeof o?o.options:o;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,p&&(c.functional=!0)),n&&(c._scopeId=n),b?(a=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,z(e)),e&&e._registeredComponents&&e._registeredComponents.add(b)},c._ssrRegister=a):t&&(a=M?function(){t.call(this,i(this.$root.$options.shadowRoot))}:function(e){t.call(this,r(e))}),a)if(c.functional){var s=c.render;c.render=function(e,t){return a.call(t),s(e,t)}}else{var O=c.beforeCreate;c.beforeCreate=O?[].concat(O,a):[a]}return o},ze=re({render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"footer__navigation__page-info"},[e._v("\n "+e._s(e.pageText)+" "),o("input",{staticClass:"footer__navigation__page-info__current-entry",attrs:{type:"text"},domProps:{value:e.currentPage},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.stopPropagation(),e.changePage(t))}}}),e._v(" "+e._s(e.pageInfo)+"\n")])},staticRenderFns:[]},void 0,{name:"VgtPaginationPageInfo",props:{currentPage:{default:1},lastPage:{default:1},totalRecords:{default:0},ofText:{default:"of",type:String},pageText:{default:"page",type:String}},data:function(){return{}},computed:{pageInfo:function(){return"".concat(this.ofText," ").concat(this.lastPage)}},methods:{changePage:function(e){var t=parseInt(e.target.value,10);if(Number.isNaN(t)||t>this.lastPage||t<1)return e.target.value=this.currentPage,!1;e.target.value=t,this.$emit("page-changed",t)}},mounted:function(){},components:{}},"data-v-9a8cd1f4",!1,void 0,void 0,void 0),ie=[10,20,30,40,50],ae=re({render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"vgt-wrap__footer vgt-clearfix"},[o("div",{staticClass:"footer__row-count vgt-pull-left"},[o("span",{staticClass:"footer__row-count__label"},[e._v(e._s(e.rowsPerPageText))]),e._v(" "),o("select",{directives:[{name:"model",rawName:"v-model",value:e.currentPerPage,expression:"currentPerPage"}],staticClass:"footer__row-count__select",attrs:{autocomplete:"off",name:"perPageSelect"},on:{change:[function(t){var o=Array.prototype.filter.call(t.target.options,function(e){return e.selected}).map(function(e){return"_value"in e?e._value:e.value});e.currentPerPage=t.target.multiple?o:o[0]},e.perPageChanged]}},[e._l(e.rowsPerPageOptions,function(t,n){return o("option",{key:"rows-dropdown-option-"+n,domProps:{value:t}},[e._v("\n "+e._s(t)+"\n ")])}),e._v(" "),e.paginateDropdownAllowAll?o("option",{domProps:{value:e.total}},[e._v(e._s(e.allText))]):e._e()],2)]),e._v(" "),o("div",{staticClass:"footer__navigation vgt-pull-right"},[o("a",{staticClass:"footer__navigation__page-btn",class:{disabled:!e.prevIsPossible},attrs:{href:"javascript:undefined",tabindex:"0"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.previousPage(t)}}},[o("span",{staticClass:"chevron",class:{left:!e.rtl,right:e.rtl}}),e._v(" "),o("span",[e._v(e._s(e.prevText))])]),e._v(" "),"pages"===e.mode?o("pagination-page-info",{attrs:{totalRecords:e.total,lastPage:e.pagesCount,currentPage:e.currentPage,ofText:e.ofText,pageText:e.pageText},on:{"page-changed":e.changePage}}):o("div",{staticClass:"footer__navigation__info"},[e._v(e._s(e.paginatedInfo))]),e._v(" "),o("a",{staticClass:"footer__navigation__page-btn",class:{disabled:!e.nextIsPossible},attrs:{href:"javascript:undefined",tabindex:"0"},on:{click:function(t){return t.preventDefault(),t.stopPropagation(),e.nextPage(t)}}},[o("span",[e._v(e._s(e.nextText))]),e._v(" "),o("span",{staticClass:"chevron",class:{right:!e.rtl,left:e.rtl}})])],1)])},staticRenderFns:[]},void 0,{name:"VgtPagination",props:{styleClass:{default:"table table-bordered"},total:{default:null},perPage:{},rtl:{default:!1},customRowsPerPageDropdown:{default:function(){return[]}},paginateDropdownAllowAll:{default:!0},mode:{default:"records"},nextText:{default:"Next"},prevText:{default:"Prev"},rowsPerPageText:{default:"Rows per page:"},ofText:{default:"of"},pageText:{default:"page"},allText:{default:"All"}},data:function(){return{currentPage:1,prevPage:0,currentPerPage:10,rowsPerPageOptions:[]}},watch:{perPage:{handler:function(e,t){this.handlePerPage(),this.perPageChanged(t)},immediate:!0},customRowsPerPageDropdown:function(){this.handlePerPage()}},computed:{pagesCount:function(){var e=Math.floor(this.total/this.currentPerPage);return 0===this.total%this.currentPerPage?e:e+1},paginatedInfo:function(){var e=(this.currentPage-1)*this.currentPerPage+1,t=Math.min(this.total,this.currentPage*this.currentPerPage);return 0===t&&(e=0),"".concat(e," - ").concat(t," ").concat(this.ofText," ").concat(this.total)},nextIsPossible:function(){return this.currentPage1}},methods:{changePage:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e>0&&this.total>this.currentPerPage*(e-1)&&(this.prevPage=this.currentPage,this.currentPage=e,t&&this.pageChanged())},nextPage:function(){this.nextIsPossible&&(this.prevPage=this.currentPage,++this.currentPage,this.pageChanged())},previousPage:function(){this.prevIsPossible&&(this.prevPage=this.currentPage,--this.currentPage,this.pageChanged())},pageChanged:function(){this.$emit("page-changed",{currentPage:this.currentPage,prevPage:this.prevPage})},perPageChanged:function(e){e&&this.$emit("per-page-changed",{currentPerPage:this.currentPerPage}),this.changePage(1,!1)},handlePerPage:function(){if(null!==this.customRowsPerPageDropdown&&Array.isArray(this.customRowsPerPageDropdown)&&0!==this.customRowsPerPageDropdown.length?this.rowsPerPageOptions=this.customRowsPerPageDropdown:this.rowsPerPageOptions=ee(ie),this.perPage){this.currentPerPage=this.perPage;for(var e=!1,t=0;t0&&void 0!==arguments[0]&&arguments[0];this.columnFilters={},e&&this.$emit("filter-changed",this.columnFilters)},isFilterable:function(e){return e.filterOptions&&e.filterOptions.enabled},isDropdown:function(e){return this.isFilterable(e)&&e.filterOptions.filterDropdownItems&&e.filterOptions.filterDropdownItems.length},isDropdownObjects:function(e){return this.isDropdown(e)&&"object"===n(e.filterOptions.filterDropdownItems[0])},isDropdownArray:function(e){return this.isDropdown(e)&&"object"!==n(e.filterOptions.filterDropdownItems[0])},getPlaceholder:function(e){return this.isFilterable(e)&&e.filterOptions.placeholder||"Filter ".concat(e.label)},updateFiltersOnEnter:function(e,t){this.timer&&clearTimeout(this.timer),this.updateFiltersImmediately(e,t)},updateFiltersOnKeyup:function(e,t){"enter"!==e.filterOptions.trigger&&this.updateFilters(e,t)},updateFilters:function(e,t){var o=this;this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){o.updateFiltersImmediately(e,t)},400)},updateFiltersImmediately:function(e,t){this.$set(this.columnFilters,e.field,t),this.$emit("filter-changed",this.columnFilters)},populateInitialFilters:function(){for(var e=0;e0?"in "+n:n+" ago":n},formatLong:ge,formatRelative:function(e,t,o,n){return _e[e]},localize:{ordinalNumber:function(e,t){var o=Number(e),n=o%100;if(n>20||n<10)switch(n%10){case 1:return o+"st";case 2:return o+"nd";case 3:return o+"rd"}return o+"th"},era:ve({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:ve({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function(e){return Number(e)-1}}),month:ve({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:ve({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:ve({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(Re={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function(e){return parseInt(e,10)}},function(e,t){var o=String(e),n=t||{},p=o.match(Re.matchPattern);if(!p)return null;var b=p[0],M=o.match(Re.parsePattern);if(!M)return null;var r=Re.valueCallback?Re.valueCallback(M[0]):M[0];return{value:r=n.valueCallback?n.valueCallback(r):r,rest:o.slice(b.length)}}),era:ye({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:ye({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:ye({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:ye({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:ye({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Xe(e,t){if(arguments.length<2)throw new TypeError("2 arguments required, but only "+arguments.length+" present");return function(e,t){if(arguments.length<2)throw new TypeError("2 arguments required, but only "+arguments.length+" present");var o=ue(e).getTime(),n=Ae(t);return new Date(o+n)}(e,-Ae(t))}function Le(e,t){for(var o=e<0?"-":"",n=Math.abs(e).toString();n.length0?o:1-o;return Le("yy"===t?n%100:n,t.length)},Ne=function(e,t){var o=e.getUTCMonth();return"M"===t?String(o+1):Le(o+1,2)},Te=function(e,t){return Le(e.getUTCDate(),t.length)},xe=function(e,t){return Le(e.getUTCHours()%12||12,t.length)},Se=function(e,t){return Le(e.getUTCHours(),t.length)},ke=function(e,t){return Le(e.getUTCMinutes(),t.length)},Ce=function(e,t){return Le(e.getUTCSeconds(),t.length)},He=function(e,t){var o=t.length,n=e.getUTCMilliseconds();return Le(Math.floor(n*Math.pow(10,o-3)),t.length)},Fe=864e5;function De(e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var t=ue(e),o=t.getUTCDay(),n=(o<1?7:0)+o-1;return t.setUTCDate(t.getUTCDate()-n),t.setUTCHours(0,0,0,0),t}function Ee(e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var t=ue(e),o=t.getUTCFullYear(),n=new Date(0);n.setUTCFullYear(o+1,0,4),n.setUTCHours(0,0,0,0);var p=De(n),b=new Date(0);b.setUTCFullYear(o,0,4),b.setUTCHours(0,0,0,0);var M=De(b);return t.getTime()>=p.getTime()?o+1:t.getTime()>=M.getTime()?o:o-1}var Pe=6048e5;function Ie(e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var t=ue(e),o=De(t).getTime()-function(e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var t=Ee(e),o=new Date(0);return o.setUTCFullYear(t,0,4),o.setUTCHours(0,0,0,0),De(o)}(t).getTime();return Math.round(o/Pe)+1}function je(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var o=t||{},n=o.locale,p=n&&n.options&&n.options.weekStartsOn,b=null==p?0:Ae(p),M=null==o.weekStartsOn?b:Ae(o.weekStartsOn);if(!(M>=0&&M<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var r=ue(e),z=r.getUTCDay(),i=(z=1&&z<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var i=new Date(0);i.setUTCFullYear(n+1,0,z),i.setUTCHours(0,0,0,0);var a=je(i,t),c=new Date(0);c.setUTCFullYear(n,0,z),c.setUTCHours(0,0,0,0);var s=je(c,t);return o.getTime()>=a.getTime()?n+1:o.getTime()>=s.getTime()?n:n-1}var Ue=6048e5;function Ye(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var o=ue(e),n=je(o,t).getTime()-function(e,t){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var o=t||{},n=o.locale,p=n&&n.options&&n.options.firstWeekContainsDate,b=null==p?1:Ae(p),M=null==o.firstWeekContainsDate?b:Ae(o.firstWeekContainsDate),r=Ve(e,t),z=new Date(0);return z.setUTCFullYear(r,0,M),z.setUTCHours(0,0,0,0),je(z,t)}(o,t).getTime();return Math.round(n/Ue)+1}var $e="midnight",Ge="noon",Ke="morning",Qe="afternoon",Je="evening",Ze="night",et={G:function(e,t,o){var n=e.getUTCFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return o.era(n,{width:"abbreviated"});case"GGGGG":return o.era(n,{width:"narrow"});case"GGGG":default:return o.era(n,{width:"wide"})}},y:function(e,t,o){if("yo"===t){var n=e.getUTCFullYear(),p=n>0?n:1-n;return o.ordinalNumber(p,{unit:"year"})}return we(e,t)},Y:function(e,t,o,n){var p=Ve(e,n),b=p>0?p:1-p;return"YY"===t?Le(b%100,2):"Yo"===t?o.ordinalNumber(b,{unit:"year"}):Le(b,t.length)},R:function(e,t){return Le(Ee(e),t.length)},u:function(e,t){return Le(e.getUTCFullYear(),t.length)},Q:function(e,t,o){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return Le(n,2);case"Qo":return o.ordinalNumber(n,{unit:"quarter"});case"QQQ":return o.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return o.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return o.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,o){var n=Math.ceil((e.getUTCMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return Le(n,2);case"qo":return o.ordinalNumber(n,{unit:"quarter"});case"qqq":return o.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return o.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return o.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,o){var n=e.getUTCMonth();switch(t){case"M":case"MM":return Ne(e,t);case"Mo":return o.ordinalNumber(n+1,{unit:"month"});case"MMM":return o.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return o.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return o.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,o){var n=e.getUTCMonth();switch(t){case"L":return String(n+1);case"LL":return Le(n+1,2);case"Lo":return o.ordinalNumber(n+1,{unit:"month"});case"LLL":return o.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return o.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return o.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,o,n){var p=Ye(e,n);return"wo"===t?o.ordinalNumber(p,{unit:"week"}):Le(p,t.length)},I:function(e,t,o){var n=Ie(e);return"Io"===t?o.ordinalNumber(n,{unit:"week"}):Le(n,t.length)},d:function(e,t,o){return"do"===t?o.ordinalNumber(e.getUTCDate(),{unit:"date"}):Te(e,t)},D:function(e,t,o){var n=function(e){if(arguments.length<1)throw new TypeError("1 argument required, but only "+arguments.length+" present");var t=ue(e),o=t.getTime();t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0);var n=o-t.getTime();return Math.floor(n/Fe)+1}(e);return"Do"===t?o.ordinalNumber(n,{unit:"dayOfYear"}):Le(n,t.length)},E:function(e,t,o){var n=e.getUTCDay();switch(t){case"E":case"EE":case"EEE":return o.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return o.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return o.day(n,{width:"short",context:"formatting"});case"EEEE":default:return o.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,o,n){var p=e.getUTCDay(),b=(p-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(b);case"ee":return Le(b,2);case"eo":return o.ordinalNumber(b,{unit:"day"});case"eee":return o.day(p,{width:"abbreviated",context:"formatting"});case"eeeee":return o.day(p,{width:"narrow",context:"formatting"});case"eeeeee":return o.day(p,{width:"short",context:"formatting"});case"eeee":default:return o.day(p,{width:"wide",context:"formatting"})}},c:function(e,t,o,n){var p=e.getUTCDay(),b=(p-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(b);case"cc":return Le(b,t.length);case"co":return o.ordinalNumber(b,{unit:"day"});case"ccc":return o.day(p,{width:"abbreviated",context:"standalone"});case"ccccc":return o.day(p,{width:"narrow",context:"standalone"});case"cccccc":return o.day(p,{width:"short",context:"standalone"});case"cccc":default:return o.day(p,{width:"wide",context:"standalone"})}},i:function(e,t,o){var n=e.getUTCDay(),p=0===n?7:n;switch(t){case"i":return String(p);case"ii":return Le(p,t.length);case"io":return o.ordinalNumber(p,{unit:"day"});case"iii":return o.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return o.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return o.day(n,{width:"short",context:"formatting"});case"iiii":default:return o.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,o){var n=e.getUTCHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":case"aaa":return o.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaaaa":return o.dayPeriod(n,{width:"narrow",context:"formatting"});case"aaaa":default:return o.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,t,o){var n,p=e.getUTCHours();switch(n=12===p?Ge:0===p?$e:p/12>=1?"pm":"am",t){case"b":case"bb":case"bbb":return o.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbbbb":return o.dayPeriod(n,{width:"narrow",context:"formatting"});case"bbbb":default:return o.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,t,o){var n,p=e.getUTCHours();switch(n=p>=17?Je:p>=12?Qe:p>=4?Ke:Ze,t){case"B":case"BB":case"BBB":return o.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return o.dayPeriod(n,{width:"narrow",context:"formatting"});case"BBBB":default:return o.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,t,o){if("ho"===t){var n=e.getUTCHours()%12;return 0===n&&(n=12),o.ordinalNumber(n,{unit:"hour"})}return xe(e,t)},H:function(e,t,o){return"Ho"===t?o.ordinalNumber(e.getUTCHours(),{unit:"hour"}):Se(e,t)},K:function(e,t,o){var n=e.getUTCHours()%12;return"Ko"===t?o.ordinalNumber(n,{unit:"hour"}):Le(n,t.length)},k:function(e,t,o){var n=e.getUTCHours();return 0===n&&(n=24),"ko"===t?o.ordinalNumber(n,{unit:"hour"}):Le(n,t.length)},m:function(e,t,o){return"mo"===t?o.ordinalNumber(e.getUTCMinutes(),{unit:"minute"}):ke(e,t)},s:function(e,t,o){return"so"===t?o.ordinalNumber(e.getUTCSeconds(),{unit:"second"}):Ce(e,t)},S:function(e,t){return He(e,t)},X:function(e,t,o,n){var p=(n._originalDate||e).getTimezoneOffset();if(0===p)return"Z";switch(t){case"X":return ot(p);case"XXXX":case"XX":return nt(p);case"XXXXX":case"XXX":default:return nt(p,":")}},x:function(e,t,o,n){var p=(n._originalDate||e).getTimezoneOffset();switch(t){case"x":return ot(p);case"xxxx":case"xx":return nt(p);case"xxxxx":case"xxx":default:return nt(p,":")}},O:function(e,t,o,n){var p=(n._originalDate||e).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+tt(p,":");case"OOOO":default:return"GMT"+nt(p,":")}},z:function(e,t,o,n){var p=(n._originalDate||e).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+tt(p,":");case"zzzz":default:return"GMT"+nt(p,":")}},t:function(e,t,o,n){var p=n._originalDate||e;return Le(Math.floor(p.getTime()/1e3),t.length)},T:function(e,t,o,n){return Le((n._originalDate||e).getTime(),t.length)}};function tt(e,t){var o=e>0?"-":"+",n=Math.abs(e),p=Math.floor(n/60),b=n%60;if(0===b)return o+String(p);var M=t||"";return o+String(p)+M+Le(b,2)}function ot(e,t){return e%60==0?(e>0?"-":"+")+Le(Math.abs(e)/60,2):nt(e,t)}function nt(e,t){var o=t||"",n=e>0?"-":"+",p=Math.abs(e);return n+Le(Math.floor(p/60),2)+o+Le(p%60,2)}function pt(e,t){switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}}function bt(e,t){switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}}var Mt={p:bt,P:function(e,t){var o,n=e.match(/(P+)(p+)?/),p=n[1],b=n[2];if(!b)return pt(e,t);switch(p){case"P":o=t.dateTime({width:"short"});break;case"PP":o=t.dateTime({width:"medium"});break;case"PPP":o=t.dateTime({width:"long"});break;case"PPPP":default:o=t.dateTime({width:"full"})}return o.replace("{{date}}",pt(p,t)).replace("{{time}}",bt(b,t))}},rt=["D","DD"],zt=["YY","YYYY"];function it(e){return-1!==rt.indexOf(e)}function at(e){return-1!==zt.indexOf(e)}function ct(e){if("YYYY"===e)throw new RangeError("Use `yyyy` instead of `YYYY` for formatting years; see: https://git.io/fxCyr");if("YY"===e)throw new RangeError("Use `yy` instead of `YY` for formatting years; see: https://git.io/fxCyr");if("D"===e)throw new RangeError("Use `d` instead of `D` for formatting days of the month; see: https://git.io/fxCyr");if("DD"===e)throw new RangeError("Use `dd` instead of `DD` for formatting days of the month; see: https://git.io/fxCyr")}var st=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ot=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,lt=/^'(.*?)'?$/,dt=/''/g,ut=/[a-zA-Z]/;function At(e,t,o){if(arguments.length<2)throw new TypeError("2 arguments required, but only "+arguments.length+" present");var n=String(t),p=o||{},b=p.locale||Be,M=b.options&&b.options.firstWeekContainsDate,r=null==M?1:Ae(M),z=null==p.firstWeekContainsDate?r:Ae(p.firstWeekContainsDate);if(!(z>=1&&z<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var i=b.options&&b.options.weekStartsOn,a=null==i?0:Ae(i),c=null==p.weekStartsOn?a:Ae(p.weekStartsOn);if(!(c>=0&&c<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!b.localize)throw new RangeError("locale must contain localize property");if(!b.formatLong)throw new RangeError("locale must contain formatLong property");var s=ue(e);if(!he(s))throw new RangeError("Invalid time value");var O=Xe(s,qe(s)),l={firstWeekContainsDate:z,weekStartsOn:c,locale:b,_originalDate:s};return n.match(Ot).map(function(e){var t=e[0];return"p"===t||"P"===t?(0,Mt[t])(e,b.formatLong,l):e}).join("").match(st).map(function(e){if("''"===e)return"'";var t=e[0];if("'"===t)return e.match(lt)[1].replace(dt,"'");var o=et[t];if(o)return!p.useAdditionalWeekYearTokens&&at(e)&&ct(e),!p.useAdditionalDayOfYearTokens&&it(e)&&ct(e),o(O,e,b.localize,l);if(t.match(ut))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return e}).join("")}function ft(e,t){if(null==e)throw new TypeError("assign requires that input parameter not be null or undefined");for(var o in t=t||{})t.hasOwnProperty(o)&&(e[o]=t[o]);return e}function qt(e,t,o){if(arguments.length<2)throw new TypeError("2 arguments required, but only "+arguments.length+" present");var n=o||{},p=n.locale,b=p&&p.options&&p.options.weekStartsOn,M=null==b?0:Ae(b),r=null==n.weekStartsOn?M:Ae(n.weekStartsOn);if(!(r>=0&&r<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var z=ue(e),i=Ae(t),a=((i%7+7)%70,p=n?t:1-t;if(p<=50)o=e||100;else{var b=p+50;o=e+100*Math.floor(b/100)-(e>=b%100?100:0)}return n?o:1-o}var kt=[31,28,31,30,31,30,31,31,30,31,30,31],Ct=[31,29,31,30,31,30,31,31,30,31,30,31];function Ht(e){return e%400==0||e%4==0&&e%100!=0}var Ft={G:{priority:140,parse:function(e,t,o,n){switch(t){case"G":case"GG":case"GGG":return o.era(e,{width:"abbreviated"})||o.era(e,{width:"narrow"});case"GGGGG":return o.era(e,{width:"narrow"});case"GGGG":default:return o.era(e,{width:"wide"})||o.era(e,{width:"abbreviated"})||o.era(e,{width:"narrow"})}},set:function(e,t,o,n){return t.era=o,e.setUTCFullYear(o,0,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["R","u","t","T"]},y:{priority:130,parse:function(e,t,o,n){var p=function(e){return{year:e,isTwoDigitYear:"yy"===t}};switch(t){case"y":return Nt(4,e,p);case"yo":return o.ordinalNumber(e,{unit:"year",valueCallback:p});default:return Nt(t.length,e,p)}},validate:function(e,t,o){return t.isTwoDigitYear||t.year>0},set:function(e,t,o,n){var p=e.getUTCFullYear();if(o.isTwoDigitYear){var b=St(o.year,p);return e.setUTCFullYear(b,0,1),e.setUTCHours(0,0,0,0),e}var M="era"in t&&1!==t.era?1-o.year:o.year;return e.setUTCFullYear(M,0,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","u","w","I","i","e","c","t","T"]},Y:{priority:130,parse:function(e,t,o,n){var p=function(e){return{year:e,isTwoDigitYear:"YY"===t}};switch(t){case"Y":return Nt(4,e,p);case"Yo":return o.ordinalNumber(e,{unit:"year",valueCallback:p});default:return Nt(t.length,e,p)}},validate:function(e,t,o){return t.isTwoDigitYear||t.year>0},set:function(e,t,o,n){var p=Ve(e,n);if(o.isTwoDigitYear){var b=St(o.year,p);return e.setUTCFullYear(b,0,n.firstWeekContainsDate),e.setUTCHours(0,0,0,0),je(e,n)}var M="era"in t&&1!==t.era?1-o.year:o.year;return e.setUTCFullYear(M,0,n.firstWeekContainsDate),e.setUTCHours(0,0,0,0),je(e,n)},incompatibleTokens:["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:{priority:130,parse:function(e,t,o,n){return Tt("R"===t?4:t.length,e)},set:function(e,t,o,n){var p=new Date(0);return p.setUTCFullYear(o,0,4),p.setUTCHours(0,0,0,0),De(p)},incompatibleTokens:["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:{priority:130,parse:function(e,t,o,n){return Tt("u"===t?4:t.length,e)},set:function(e,t,o,n){return e.setUTCFullYear(o,0,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["G","y","Y","R","w","I","i","e","c","t","T"]},Q:{priority:120,parse:function(e,t,o,n){switch(t){case"Q":case"QQ":return Nt(t.length,e);case"Qo":return o.ordinalNumber(e,{unit:"quarter"});case"QQQ":return o.quarter(e,{width:"abbreviated",context:"formatting"})||o.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return o.quarter(e,{width:"narrow",context:"formatting"});case"QQQQ":default:return o.quarter(e,{width:"wide",context:"formatting"})||o.quarter(e,{width:"abbreviated",context:"formatting"})||o.quarter(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,o){return t>=1&&t<=4},set:function(e,t,o,n){return e.setUTCMonth(3*(o-1),1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:{priority:120,parse:function(e,t,o,n){switch(t){case"q":case"qq":return Nt(t.length,e);case"qo":return o.ordinalNumber(e,{unit:"quarter"});case"qqq":return o.quarter(e,{width:"abbreviated",context:"standalone"})||o.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return o.quarter(e,{width:"narrow",context:"standalone"});case"qqqq":default:return o.quarter(e,{width:"wide",context:"standalone"})||o.quarter(e,{width:"abbreviated",context:"standalone"})||o.quarter(e,{width:"narrow",context:"standalone"})}},validate:function(e,t,o){return t>=1&&t<=4},set:function(e,t,o,n){return e.setUTCMonth(3*(o-1),1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:{priority:110,parse:function(e,t,o,n){var p=function(e){return e-1};switch(t){case"M":return Xt(gt.month,e,p);case"MM":return Nt(2,e,p);case"Mo":return o.ordinalNumber(e,{unit:"month",valueCallback:p});case"MMM":return o.month(e,{width:"abbreviated",context:"formatting"})||o.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return o.month(e,{width:"narrow",context:"formatting"});case"MMMM":default:return o.month(e,{width:"wide",context:"formatting"})||o.month(e,{width:"abbreviated",context:"formatting"})||o.month(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,o){return t>=0&&t<=11},set:function(e,t,o,n){return e.setUTCMonth(o,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]},L:{priority:110,parse:function(e,t,o,n){var p=function(e){return e-1};switch(t){case"L":return Xt(gt.month,e,p);case"LL":return Nt(2,e,p);case"Lo":return o.ordinalNumber(e,{unit:"month",valueCallback:p});case"LLL":return o.month(e,{width:"abbreviated",context:"standalone"})||o.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return o.month(e,{width:"narrow",context:"standalone"});case"LLLL":default:return o.month(e,{width:"wide",context:"standalone"})||o.month(e,{width:"abbreviated",context:"standalone"})||o.month(e,{width:"narrow",context:"standalone"})}},validate:function(e,t,o){return t>=0&&t<=11},set:function(e,t,o,n){return e.setUTCMonth(o,1),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:{priority:100,parse:function(e,t,o,n){switch(t){case"w":return Xt(gt.week,e);case"wo":return o.ordinalNumber(e,{unit:"week"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=1&&t<=53},set:function(e,t,o,n){return je(function(e,t,o){if(arguments.length<2)throw new TypeError("2 arguments required, but only "+arguments.length+" present");var n=ue(e),p=Ae(t),b=Ye(n,o)-p;return n.setUTCDate(n.getUTCDate()-7*b),n}(e,o,n),n)},incompatibleTokens:["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:{priority:100,parse:function(e,t,o,n){switch(t){case"I":return Xt(gt.week,e);case"Io":return o.ordinalNumber(e,{unit:"week"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=1&&t<=53},set:function(e,t,o,n){return De(function(e,t){if(arguments.length<2)throw new TypeError("2 arguments required, but only "+arguments.length+" present");var o=ue(e),n=Ae(t),p=Ie(o)-n;return o.setUTCDate(o.getUTCDate()-7*p),o}(e,o,n),n)},incompatibleTokens:["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:{priority:90,parse:function(e,t,o,n){switch(t){case"d":return Xt(gt.date,e);case"do":return o.ordinalNumber(e,{unit:"date"});default:return Nt(t.length,e)}},validate:function(e,t,o){var n=Ht(e.getUTCFullYear()),p=e.getUTCMonth();return n?t>=1&&t<=Ct[p]:t>=1&&t<=kt[p]},set:function(e,t,o,n){return e.setUTCDate(o),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:{priority:90,parse:function(e,t,o,n){switch(t){case"D":case"DD":return Xt(gt.dayOfYear,e);case"Do":return o.ordinalNumber(e,{unit:"date"});default:return Nt(t.length,e)}},validate:function(e,t,o){return Ht(e.getUTCFullYear())?t>=1&&t<=366:t>=1&&t<=365},set:function(e,t,o,n){return e.setUTCMonth(0,o),e.setUTCHours(0,0,0,0),e},incompatibleTokens:["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:{priority:90,parse:function(e,t,o,n){switch(t){case"E":case"EE":case"EEE":return o.day(e,{width:"abbreviated",context:"formatting"})||o.day(e,{width:"short",context:"formatting"})||o.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return o.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return o.day(e,{width:"short",context:"formatting"})||o.day(e,{width:"narrow",context:"formatting"});case"EEEE":default:return o.day(e,{width:"wide",context:"formatting"})||o.day(e,{width:"abbreviated",context:"formatting"})||o.day(e,{width:"short",context:"formatting"})||o.day(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,o){return t>=0&&t<=6},set:function(e,t,o,n){return(e=qt(e,o,n)).setUTCHours(0,0,0,0),e},incompatibleTokens:["D","i","e","c","t","T"]},e:{priority:90,parse:function(e,t,o,n){var p=function(e){var t=7*Math.floor((e-1)/7);return(e+n.weekStartsOn+6)%7+t};switch(t){case"e":case"ee":return Nt(t.length,e,p);case"eo":return o.ordinalNumber(e,{unit:"day",valueCallback:p});case"eee":return o.day(e,{width:"abbreviated",context:"formatting"})||o.day(e,{width:"short",context:"formatting"})||o.day(e,{width:"narrow",context:"formatting"});case"eeeee":return o.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return o.day(e,{width:"short",context:"formatting"})||o.day(e,{width:"narrow",context:"formatting"});case"eeee":default:return o.day(e,{width:"wide",context:"formatting"})||o.day(e,{width:"abbreviated",context:"formatting"})||o.day(e,{width:"short",context:"formatting"})||o.day(e,{width:"narrow",context:"formatting"})}},validate:function(e,t,o){return t>=0&&t<=6},set:function(e,t,o,n){return(e=qt(e,o,n)).setUTCHours(0,0,0,0),e},incompatibleTokens:["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:{priority:90,parse:function(e,t,o,n){var p=function(e){var t=7*Math.floor((e-1)/7);return(e+n.weekStartsOn+6)%7+t};switch(t){case"c":case"cc":return Nt(t.length,e,p);case"co":return o.ordinalNumber(e,{unit:"day",valueCallback:p});case"ccc":return o.day(e,{width:"abbreviated",context:"standalone"})||o.day(e,{width:"short",context:"standalone"})||o.day(e,{width:"narrow",context:"standalone"});case"ccccc":return o.day(e,{width:"narrow",context:"standalone"});case"cccccc":return o.day(e,{width:"short",context:"standalone"})||o.day(e,{width:"narrow",context:"standalone"});case"cccc":default:return o.day(e,{width:"wide",context:"standalone"})||o.day(e,{width:"abbreviated",context:"standalone"})||o.day(e,{width:"short",context:"standalone"})||o.day(e,{width:"narrow",context:"standalone"})}},validate:function(e,t,o){return t>=0&&t<=6},set:function(e,t,o,n){return(e=qt(e,o,n)).setUTCHours(0,0,0,0),e},incompatibleTokens:["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:{priority:90,parse:function(e,t,o,n){var p=function(e){return 0===e?7:e};switch(t){case"i":case"ii":return Nt(t.length,e);case"io":return o.ordinalNumber(e,{unit:"day"});case"iii":return o.day(e,{width:"abbreviated",context:"formatting",valueCallback:p})||o.day(e,{width:"short",context:"formatting",valueCallback:p})||o.day(e,{width:"narrow",context:"formatting",valueCallback:p});case"iiiii":return o.day(e,{width:"narrow",context:"formatting",valueCallback:p});case"iiiiii":return o.day(e,{width:"short",context:"formatting",valueCallback:p})||o.day(e,{width:"narrow",context:"formatting",valueCallback:p});case"iiii":default:return o.day(e,{width:"wide",context:"formatting",valueCallback:p})||o.day(e,{width:"abbreviated",context:"formatting",valueCallback:p})||o.day(e,{width:"short",context:"formatting",valueCallback:p})||o.day(e,{width:"narrow",context:"formatting",valueCallback:p})}},validate:function(e,t,o){return t>=1&&t<=7},set:function(e,t,o,n){return(e=function(e,t){if(arguments.length<2)throw new TypeError("2 arguments required, but only "+arguments.length+" present");var o=Ae(t);o%7==0&&(o-=7);var n=ue(e),p=((o%7+7)%7<1?7:0)+o-n.getUTCDay();return n.setUTCDate(n.getUTCDate()+p),n}(e,o,n)).setUTCHours(0,0,0,0),e},incompatibleTokens:["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:{priority:80,parse:function(e,t,o,n){switch(t){case"a":case"aa":case"aaa":return o.dayPeriod(e,{width:"abbreviated",context:"formatting"})||o.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return o.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaa":default:return o.dayPeriod(e,{width:"wide",context:"formatting"})||o.dayPeriod(e,{width:"abbreviated",context:"formatting"})||o.dayPeriod(e,{width:"narrow",context:"formatting"})}},set:function(e,t,o,n){return e.setUTCHours(xt(o),0,0,0),e},incompatibleTokens:["b","B","H","K","k","t","T"]},b:{priority:80,parse:function(e,t,o,n){switch(t){case"b":case"bb":case"bbb":return o.dayPeriod(e,{width:"abbreviated",context:"formatting"})||o.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return o.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbb":default:return o.dayPeriod(e,{width:"wide",context:"formatting"})||o.dayPeriod(e,{width:"abbreviated",context:"formatting"})||o.dayPeriod(e,{width:"narrow",context:"formatting"})}},set:function(e,t,o,n){return e.setUTCHours(xt(o),0,0,0),e},incompatibleTokens:["a","B","H","K","k","t","T"]},B:{priority:80,parse:function(e,t,o,n){switch(t){case"B":case"BB":case"BBB":return o.dayPeriod(e,{width:"abbreviated",context:"formatting"})||o.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return o.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBB":default:return o.dayPeriod(e,{width:"wide",context:"formatting"})||o.dayPeriod(e,{width:"abbreviated",context:"formatting"})||o.dayPeriod(e,{width:"narrow",context:"formatting"})}},set:function(e,t,o,n){return e.setUTCHours(xt(o),0,0,0),e},incompatibleTokens:["a","b","t","T"]},h:{priority:70,parse:function(e,t,o,n){switch(t){case"h":return Xt(gt.hour12h,e);case"ho":return o.ordinalNumber(e,{unit:"hour"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=1&&t<=12},set:function(e,t,o,n){var p=e.getUTCHours()>=12;return p&&o<12?e.setUTCHours(o+12,0,0,0):p||12!==o?e.setUTCHours(o,0,0,0):e.setUTCHours(0,0,0,0),e},incompatibleTokens:["H","K","k","t","T"]},H:{priority:70,parse:function(e,t,o,n){switch(t){case"H":return Xt(gt.hour23h,e);case"Ho":return o.ordinalNumber(e,{unit:"hour"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=0&&t<=23},set:function(e,t,o,n){return e.setUTCHours(o,0,0,0),e},incompatibleTokens:["a","b","h","K","k","t","T"]},K:{priority:70,parse:function(e,t,o,n){switch(t){case"K":return Xt(gt.hour11h,e);case"Ko":return o.ordinalNumber(e,{unit:"hour"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=0&&t<=11},set:function(e,t,o,n){return e.getUTCHours()>=12&&o<12?e.setUTCHours(o+12,0,0,0):e.setUTCHours(o,0,0,0),e},incompatibleTokens:["a","b","h","H","k","t","T"]},k:{priority:70,parse:function(e,t,o,n){switch(t){case"k":return Xt(gt.hour24h,e);case"ko":return o.ordinalNumber(e,{unit:"hour"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=1&&t<=24},set:function(e,t,o,n){var p=o<=24?o%24:o;return e.setUTCHours(p,0,0,0),e},incompatibleTokens:["a","b","h","H","K","t","T"]},m:{priority:60,parse:function(e,t,o,n){switch(t){case"m":return Xt(gt.minute,e);case"mo":return o.ordinalNumber(e,{unit:"minute"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=0&&t<=59},set:function(e,t,o,n){return e.setUTCMinutes(o,0,0),e},incompatibleTokens:["t","T"]},s:{priority:50,parse:function(e,t,o,n){switch(t){case"s":return Xt(gt.second,e);case"so":return o.ordinalNumber(e,{unit:"second"});default:return Nt(t.length,e)}},validate:function(e,t,o){return t>=0&&t<=59},set:function(e,t,o,n){return e.setUTCSeconds(o,0),e},incompatibleTokens:["t","T"]},S:{priority:30,parse:function(e,t,o,n){return Nt(t.length,e,function(e){return Math.floor(e*Math.pow(10,3-t.length))})},set:function(e,t,o,n){return e.setUTCMilliseconds(o),e},incompatibleTokens:["t","T"]},X:{priority:10,parse:function(e,t,o,n){switch(t){case"X":return Lt(_t,e);case"XX":return Lt(vt,e);case"XXXX":return Lt(yt,e);case"XXXXX":return Lt(Bt,e);case"XXX":default:return Lt(Rt,e)}},set:function(e,t,o,n){return t.timestampIsSet?e:new Date(e.getTime()-o)},incompatibleTokens:["t","T","x"]},x:{priority:10,parse:function(e,t,o,n){switch(t){case"x":return Lt(_t,e);case"xx":return Lt(vt,e);case"xxxx":return Lt(yt,e);case"xxxxx":return Lt(Bt,e);case"xxx":default:return Lt(Rt,e)}},set:function(e,t,o,n){return t.timestampIsSet?e:new Date(e.getTime()-o)},incompatibleTokens:["t","T","X"]},t:{priority:40,parse:function(e,t,o,n){return wt(e)},set:function(e,t,o,n){return[new Date(1e3*o),{timestampIsSet:!0}]},incompatibleTokens:"*"},T:{priority:20,parse:function(e,t,o,n){return wt(e)},set:function(e,t,o,n){return[new Date(o),{timestampIsSet:!0}]},incompatibleTokens:"*"}},Dt=10,Et=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Pt=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,It=/^'(.*?)'?$/,jt=/''/g,Vt=/\S/,Ut=/[a-zA-Z]/;function Yt(e,t,o,n){if(arguments.length<3)throw new TypeError("3 arguments required, but only "+arguments.length+" present");var p=String(e),b=String(t),M=n||{},r=M.locale||Be;if(!r.match)throw new RangeError("locale must contain match property");var z=r.options&&r.options.firstWeekContainsDate,i=null==z?1:Ae(z),a=null==M.firstWeekContainsDate?i:Ae(M.firstWeekContainsDate);if(!(a>=1&&a<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var c=r.options&&r.options.weekStartsOn,s=null==c?0:Ae(c),O=null==M.weekStartsOn?s:Ae(M.weekStartsOn);if(!(O>=0&&O<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(""===b)return""===p?ue(o):new Date(NaN);var l,d={firstWeekContainsDate:a,weekStartsOn:O,locale:r},u=[{priority:Dt,set:$t,index:0}],A=b.match(Pt).map(function(e){var t=e[0];return"p"===t||"P"===t?(0,Mt[t])(e,r.formatLong,d):e}).join("").match(Et),f=[];for(l=0;l0&&Vt.test(p))return new Date(NaN);var R=u.map(function(e){return e.priority}).sort(function(e,t){return t-e}).filter(function(e,t,o){return o.indexOf(e)===t}).map(function(e){return u.filter(function(t){return t.priority===e}).reverse()}).map(function(e){return e[0]}),B=ue(o);if(isNaN(B))return new Date(NaN);var X=Xe(B,qe(B)),L={};for(l=0;l0?1:p}(e,t):1:-1},Gt.format=function(e,t){if(null==e)return"";var o=Yt(e,t.dateInputFormat,new Date);return he(o)?At(o,t.dateOutputFormat):(console.error('Not a valid date: "'.concat(e,'"')),null)};var Kt=Object.freeze({default:Gt}),Qt=ee(Me);Qt.isRight=!0,Qt.filterPredicate=function(e,t){return 0===Qt.compare(e,t)},Qt.compare=function(e,t){function o(e){return null==e?-1/0:e.indexOf(".")>=0?parseFloat(e):parseInt(e,10)}return(e="number"==typeof e?e:o(e))<(t="number"==typeof t?t:o(t))?-1:e>t?1:0};var Jt=Object.freeze({default:Qt}),Zt=ee(Qt);Zt.format=function(e){return null==e?"":parseFloat(Math.round(100*e)/100).toFixed(2)};var eo=Object.freeze({default:Zt}),to=ee(Qt);to.format=function(e){return null==e?"":"".concat(parseFloat(100*e).toFixed(2),"%")};var oo=Object.freeze({default:to}),no=ee(Me);no.isRight=!0,no.filterPredicate=function(e,t){return 0===no.compare(e,t)},no.compare=function(e,t){function o(e){return"boolean"==typeof e?e?1:0:"string"==typeof e?"true"===e?1:0:-1/0}return(e=o(e))<(t=o(t))?-1:e>t?1:0};var po={},bo={date:Kt,decimal:eo,number:Jt,percentage:oo,boolean:Object.freeze({default:no})};L(Object.keys(bo),function(e){var t=e.replace(/^\.\//,"").replace(/\.js/,"");po[t]=bo[e].default});var Mo=re({render:function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{class:e.wrapStyleClasses},[e.isLoading?o("div",{staticClass:"vgt-loading vgt-center-align"},[e._t("loadingContent",[o("span",{staticClass:"vgt-loading__content"},[e._v("\n Loading...\n ")])])],2):e._e(),e._v(" "),o("div",{staticClass:"vgt-inner-wrap",class:{"is-loading":e.isLoading}},[e.paginate&&e.paginateOnTop?e._t("pagination-top",[o("vgt-pagination",{ref:"paginationTop",attrs:{perPage:e.perPage,rtl:e.rtl,total:e.totalRows||e.totalRowCount,mode:e.paginationMode,nextText:e.nextText,prevText:e.prevText,rowsPerPageText:e.rowsPerPageText,customRowsPerPageDropdown:e.customRowsPerPageDropdown,paginateDropdownAllowAll:e.paginateDropdownAllowAll,ofText:e.ofText,pageText:e.pageText,allText:e.allText},on:{"page-changed":e.pageChanged,"per-page-changed":e.perPageChanged}})],{pageChanged:e.pageChanged,perPageChanged:e.perPageChanged,total:e.totalRows||e.totalRowCount}):e._e(),e._v(" "),o("vgt-global-search",{attrs:{"search-enabled":e.searchEnabled&&null==e.externalSearchQuery,"global-search-placeholder":e.searchPlaceholder},on:{"on-keyup":e.searchTableOnKeyUp,"on-enter":e.searchTableOnEnter},model:{value:e.globalSearchTerm,callback:function(t){e.globalSearchTerm=t},expression:"globalSearchTerm"}},[o("template",{slot:"internal-table-actions"},[e._t("table-actions")],2)],2),e._v(" "),e.selectedRowCount&&!e.disableSelectInfo?o("div",{staticClass:"vgt-selection-info-row clearfix",class:e.selectionInfoClass},[e._v("\n "+e._s(e.selectionInfo)+"\n "),o("a",{attrs:{href:""},on:{click:function(t){return t.preventDefault(),e.unselectAllInternal(!0)}}},[e._v("\n "+e._s(e.clearSelectionText)+"\n ")]),e._v(" "),o("div",{staticClass:"vgt-selection-info-row__actions vgt-pull-right"},[e._t("selected-row-actions")],2)]):e._e(),e._v(" "),o("div",{staticClass:"vgt-fixed-header"},[e.fixedHeader?o("table",{class:e.tableStyleClasses},[o("vgt-table-header",{ref:"table-header-secondary",tag:"thead",attrs:{columns:e.columns,"line-numbers":e.lineNumbers,selectable:e.selectable,"all-selected":e.allSelected,"all-selected-indeterminate":e.allSelectedIndeterminate,mode:e.mode,sortable:e.sortable,"typed-columns":e.typedColumns,getClasses:e.getClasses,searchEnabled:e.searchEnabled,paginated:e.paginated,"table-ref":e.$refs.table},on:{"on-toggle-select-all":e.toggleSelectAll,"on-sort-change":e.changeSort,"filter-changed":e.filterRows},scopedSlots:e._u([{key:"table-column",fn:function(t){return[e._t("table-column",[o("span",[e._v(e._s(t.column.label))])],{column:t.column})]}}],null,!0)})],1):e._e()]),e._v(" "),o("div",{class:{"vgt-responsive":e.responsive},style:e.wrapperStyles},[o("table",{ref:"table",class:e.tableStyleClasses},[o("vgt-table-header",{ref:"table-header-primary",tag:"thead",attrs:{columns:e.columns,"line-numbers":e.lineNumbers,selectable:e.selectable,"all-selected":e.allSelected,"all-selected-indeterminate":e.allSelectedIndeterminate,mode:e.mode,sortable:e.sortable,"typed-columns":e.typedColumns,getClasses:e.getClasses,searchEnabled:e.searchEnabled},on:{"on-toggle-select-all":e.toggleSelectAll,"on-sort-change":e.changeSort,"filter-changed":e.filterRows},scopedSlots:e._u([{key:"table-column",fn:function(t){return[e._t("table-column",[o("span",[e._v(e._s(t.column.label))])],{column:t.column})]}}],null,!0)}),e._v(" "),e._l(e.paginated,function(t,n){return o("tbody",{key:n},[e.groupHeaderOnTop?o("vgt-header-row",{attrs:{"header-row":t,columns:e.columns,"line-numbers":e.lineNumbers,selectable:e.selectable,"collect-formatted":e.collectFormatted,"formatted-row":e.formattedRow,"get-classes":e.getClasses,"full-colspan":e.fullColspan},scopedSlots:e._u([{key:"table-header-row",fn:function(t){return e.hasHeaderRowTemplate?[e._t("table-header-row",null,{column:t.column,formattedRow:t.formattedRow,row:t.row})]:void 0}}],null,!0)}):e._e(),e._v(" "),e._l(t.children,function(t,n){return o("tr",{key:t.originalIndex,class:e.getRowStyleClass(t),on:{mouseenter:function(o){return e.onMouseenter(t,n)},mouseleave:function(o){return e.onMouseleave(t,n)},dblclick:function(o){return e.onRowDoubleClicked(t,n,o)},click:function(o){return e.onRowClicked(t,n,o)},auxclick:function(o){return e.onRowAuxClicked(t,n,o)}}},[e.lineNumbers?o("th",{staticClass:"line-numbers"},[e._v("\n "+e._s(e.getCurrentIndex(n))+"\n ")]):e._e(),e._v(" "),e.selectable?o("th",{staticClass:"vgt-checkbox-col",on:{click:function(o){return o.stopPropagation(),e.onCheckboxClicked(t,n,o)}}},[o("input",{attrs:{type:"checkbox"},domProps:{checked:t.vgtSelected}})]):e._e(),e._v(" "),e._l(e.columns,function(p,b){return!p.hidden&&p.field?o("td",{key:b,class:e.getClasses(b,"td",t),on:{click:function(o){return e.onCellClicked(t,p,n,o)}}},[e._t("table-row",[p.html?e._e():o("span",[e._v("\n "+e._s(e.collectFormatted(t,p))+"\n ")]),e._v(" "),p.html?o("span",{domProps:{innerHTML:e._s(e.collect(t,p.field))}}):e._e()],{row:t,column:p,formattedRow:e.formattedRow(t),index:n})],2):e._e()})],2)}),e._v(" "),e.groupHeaderOnBottom?o("vgt-header-row",{attrs:{"header-row":t,columns:e.columns,"line-numbers":e.lineNumbers,selectable:e.selectable,"collect-formatted":e.collectFormatted,"formatted-row":e.formattedRow,"get-classes":e.getClasses,"full-colspan":e.fullColspan},scopedSlots:e._u([{key:"table-header-row",fn:function(t){return e.hasHeaderRowTemplate?[e._t("table-header-row",null,{column:t.column,formattedRow:t.formattedRow,row:t.row})]:void 0}}],null,!0)}):e._e()],2)}),e._v(" "),e.showEmptySlot?o("tbody",[o("tr",[o("td",{attrs:{colspan:e.fullColspan}},[e._t("emptystate",[o("div",{staticClass:"vgt-center-align vgt-text-disabled"},[e._v("\n No data for table\n ")])])],2)])]):e._e()],2)]),e._v(" "),e.hasFooterSlot?o("div",{staticClass:"vgt-wrap__actions-footer"},[e._t("table-actions-bottom")],2):e._e(),e._v(" "),e.paginate&&e.paginateOnBottom?e._t("pagination-bottom",[o("vgt-pagination",{ref:"paginationBottom",attrs:{perPage:e.perPage,rtl:e.rtl,total:e.totalRows||e.totalRowCount,mode:e.paginationMode,nextText:e.nextText,prevText:e.prevText,rowsPerPageText:e.rowsPerPageText,customRowsPerPageDropdown:e.customRowsPerPageDropdown,paginateDropdownAllowAll:e.paginateDropdownAllowAll,ofText:e.ofText,pageText:e.pageText,allText:e.allText},on:{"page-changed":e.pageChanged,"per-page-changed":e.perPageChanged}})],{pageChanged:e.pageChanged,perPageChanged:e.perPageChanged,total:e.totalRows||e.totalRowCount}):e._e()],2)])},staticRenderFns:[]},void 0,{name:"vue-good-table",props:{isLoading:{default:null,type:Boolean},maxHeight:{default:null,type:String},fixedHeader:{default:!1,type:Boolean},theme:{default:""},mode:{default:"local"},totalRows:{},styleClass:{default:"vgt-table bordered"},columns:{},rows:{},lineNumbers:{default:!1},responsive:{default:!0},rtl:{default:!1},rowStyleClass:{default:null,type:[Function,String]},groupOptions:{default:function(){return{enabled:!1}}},selectOptions:{default:function(){return{enabled:!1,selectionInfoClass:"",selectionText:"rows selected",clearSelectionText:"clear",disableSelectInfo:!1}}},sortOptions:{default:function(){return{enabled:!0,initialSortBy:{}}}},paginationOptions:{default:function(){return{enabled:!1,perPage:10,perPageDropdown:null,position:"bottom",dropdownAllowAll:!0,mode:"records"}}},searchOptions:{default:function(){return{enabled:!1,trigger:null,externalQuery:null,searchFn:null,placeholder:"Search Table"}}}},data:function(){return{tableLoading:!1,nextText:"Next",prevText:"Prev",rowsPerPageText:"Rows per page",ofText:"of",allText:"All",pageText:"page",selectable:!1,selectOnCheckboxOnly:!1,selectAllByPage:!0,disableSelectInfo:!1,selectionInfoClass:"",selectionText:"rows selected",clearSelectionText:"clear",sortable:!0,defaultSortBy:null,searchEnabled:!1,searchTrigger:null,externalSearchQuery:null,searchFn:null,searchPlaceholder:"Search Table",searchSkipDiacritics:!1,perPage:null,paginate:!1,paginateOnTop:!1,paginateOnBottom:!0,customRowsPerPageDropdown:[],paginateDropdownAllowAll:!0,paginationMode:"records",currentPage:1,currentPerPage:10,sorts:[],globalSearchTerm:"",filteredRows:[],columnFilters:{},forceSearch:!1,sortChanged:!1,dataTypes:po||{}}},watch:{rows:{handler:function(){this.$emit("update:isLoading",!1),this.filterRows(this.columnFilters,!1)},deep:!0,immediate:!0},selectOptions:{handler:function(){this.initializeSelect()},deep:!0,immediate:!0},paginationOptions:{handler:function(e,t){this.initializePagination()},deep:!0,immediate:!0},searchOptions:{handler:function(){void 0!==this.searchOptions.externalQuery&&this.searchOptions.externalQuery!==this.searchTerm&&(this.externalSearchQuery=this.searchOptions.externalQuery,this.handleSearch()),this.initializeSearch()},deep:!0,immediate:!0},sortOptions:{handler:function(e,t){this.initializeSort()},deep:!0},selectedRows:function(e,t){oe(e,t)||this.$emit("on-selected-rows-change",{selectedRows:this.selectedRows})}},computed:{hasFooterSlot:function(){return!!this.$slots["table-actions-bottom"]},wrapperStyles:function(){return{overflow:"scroll-y",maxHeight:this.maxHeight?this.maxHeight:"auto"}},hasHeaderRowTemplate:function(){return!!this.$slots["table-header-row"]||!!this.$scopedSlots["table-header-row"]},showEmptySlot:function(){return!this.paginated.length||"no groups"===this.paginated[0].label&&!this.paginated[0].children.length},allSelected:function(){return this.selectedRowCount>0&&(this.selectAllByPage&&this.selectedPageRowsCount===this.totalPageRowCount||!this.selectAllByPage&&this.selectedRowCount===this.totalRowCount)},allSelectedIndeterminate:function(){return!this.allSelected&&(this.selectAllByPage&&this.selectedPageRowsCount>0||!this.selectAllByPage&&this.selectedRowCount>0)},selectionInfo:function(){return"".concat(this.selectedRowCount," ").concat(this.selectionText)},selectedRowCount:function(){return this.selectedRows.length},selectedPageRowsCount:function(){return this.selectedPageRows.length},selectedPageRows:function(){var e=[];return L(this.paginated,function(t){L(t.children,function(t){t.vgtSelected&&e.push(t)})}),e},selectedRows:function(){var e=[];return L(this.processedRows,function(t){L(t.children,function(t){t.vgtSelected&&e.push(t)})}),e.sort(function(e,t){return e.originalIndex-t.originalIndex})},fullColspan:function(){for(var e=0,t=0;t=e.length||-1===this.currentPerPage)&&(this.currentPage=1,t=0);var o=e.length+1;-1!==this.currentPerPage&&(o=this.currentPage*this.currentPerPage),e=e.slice(t,o)}var n=[];return L(this.processedRows,function(t){var o=t.vgt_header_id,p=te(e,["vgt_id",o]);if(p.length){var b=ee(t);b.children=p,n.push(b)}}),n},originalRows:function(){var e=ee(this.rows),t=[];t=this.groupOptions.enabled?this.handleGrouped(e):this.handleGrouped([{label:"no groups",children:e}]);var o=0;return L(t,function(e,t){L(e.children,function(e,t){e.originalIndex=o++})}),t},typedColumns:function(){for(var e=Q(this.columns,[]),t=0;t2&&void 0!==arguments[2]&&arguments[2]&&t.headerField?this.collect(e,t.headerField):this.collect(e,t.field)))return"";if(t.formatFn&&"function"==typeof t.formatFn)return t.formatFn(o);var n=t.typeDef;return n||(n=this.dataTypes[t.type]||Me),n.format(o,t)},formattedRow:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o={},n=0;n1&&void 0!==arguments[1])||arguments[1];this.columnFilters=e;var n=ee(this.originalRows);if(this.columnFilters&&Object.keys(this.columnFilters).length){if(("remote"!==this.mode||o)&&this.changePage(1),o&&this.$emit("on-column-filter",{columnFilters:this.columnFilters}),"remote"===this.mode)return void(o?this.$emit("update:isLoading",!0):this.filteredRows=n);for(var p=function(e){var o=t.typedColumns[e];t.columnFilters[o.field]&&(n=L(n,function(e){var n=e.children.filter(function(e){return o.filterOptions&&"function"==typeof o.filterOptions.filterFn?o.filterOptions.filterFn(t.collect(e,o.field),t.columnFilters[o.field]):o.typeDef.filterPredicate(t.collect(e,o.field),t.columnFilters[o.field])});e.children=n}))},b=0;b0;)t[o]=arguments[o+1];var n=this.$i18n;return n._t.apply(n,[e,n.locale,n._getMessages(),this].concat(t))},t.prototype.$tc=function(e,t){for(var o=[],n=arguments.length-2;n-- >0;)o[n]=arguments[n+2];var p=this.$i18n;return p._tc.apply(p,[e,p.locale,p._getMessages(),this,t].concat(o))},t.prototype.$te=function(e,t){var o=this.$i18n;return o._te(e,o.locale,o._getMessages(),t)},t.prototype.$d=function(e){for(var t,o=[],n=arguments.length-1;n-- >0;)o[n]=arguments[n+1];return(t=this.$i18n).d.apply(t,[e].concat(o))},t.prototype.$n=function(e){for(var t,o=[],n=arguments.length-1;n-- >0;)o[n]=arguments[n+1];return(t=this.$i18n).n.apply(t,[e].concat(o))},f.mixin(q),f.directive("t",{bind:m,update:g,unbind:_}),f.component(h.name,h),f.component(W.name,W),f.config.optionMergeStrategies.i18n=function(e,t){return void 0===t?e:t}}var X=function(){this._caches=Object.create(null)};X.prototype.interpolate=function(e,t){if(!t)return[e];var o=this._caches[e];return o||(o=function(e){var t=[],o=0,n="";for(;o0)c--,a=C,s[N]();else{if(c=0,!1===(o=V(o)))return!1;s[T]()}};null!==a;)if("\\"!==(t=e[++i])||!O()){if(p=j(t),(b=(r=P[a])[p]||r.else||E)===E)return;if(a=b[0],(M=s[b[1]])&&(n=void 0===(n=b[2])?t:n,!1===M()))return;if(a===D)return z}}(e))&&(this._cache[e]=t),t||[]},U.prototype.getPathValue=function(e,t){if(!r(e))return null;var o=this.parsePath(t);if(0===o.length)return null;for(var n=o.length,p=e,b=0;b/,G=/(?:@(?:\.[a-z]+)?:(?:[\w\-_|.]+|\([\w\-_|.]+\)))/g,K=/^@(?:\.([a-z]+))?:/,Q=/[()]/g,J={upper:function(e){return e.toLocaleUpperCase()},lower:function(e){return e.toLocaleLowerCase()}},Z=new X,ee=function(e){var t=this;void 0===e&&(e={}),!f&&"undefined"!=typeof window&&window.Vue&&B(window.Vue);var o=e.locale||"en-US",n=e.fallbackLocale||"en-US",p=e.messages||{},b=e.dateTimeFormats||{},M=e.numberFormats||{};this._vm=null,this._formatter=e.formatter||Z,this._missing=e.missing||null,this._root=e.root||null,this._sync=void 0===e.sync||!!e.sync,this._fallbackRoot=void 0===e.fallbackRoot||!!e.fallbackRoot,this._silentTranslationWarn=void 0!==e.silentTranslationWarn&&!!e.silentTranslationWarn,this._silentFallbackWarn=void 0!==e.silentFallbackWarn&&!!e.silentFallbackWarn,this._dateTimeFormatters={},this._numberFormatters={},this._path=new U,this._dataListeners=[],this._preserveDirectiveContent=void 0!==e.preserveDirectiveContent&&!!e.preserveDirectiveContent,this.pluralizationRules=e.pluralizationRules||{},this._warnHtmlInMessage=e.warnHtmlInMessage||"off",this._exist=function(e,o){return!(!e||!o)&&(!c(t._path.getPathValue(e,o))||!!e[o])},"warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||Object.keys(p).forEach(function(e){t._checkLocaleMessage(e,t._warnHtmlInMessage,p[e])}),this._initVM({locale:o,fallbackLocale:n,messages:p,dateTimeFormats:b,numberFormats:M})},te={vm:{configurable:!0},messages:{configurable:!0},dateTimeFormats:{configurable:!0},numberFormats:{configurable:!0},availableLocales:{configurable:!0},locale:{configurable:!0},fallbackLocale:{configurable:!0},missing:{configurable:!0},formatter:{configurable:!0},silentTranslationWarn:{configurable:!0},silentFallbackWarn:{configurable:!0},preserveDirectiveContent:{configurable:!0},warnHtmlInMessage:{configurable:!0}};ee.prototype._checkLocaleMessage=function(e,t,o){var n=function(e,t,o,p){if(a(o))Object.keys(o).forEach(function(b){var M=o[b];a(M)?(p.push(b),p.push("."),n(e,t,M,p),p.pop(),p.pop()):(p.push(b),n(e,t,M,p),p.pop())});else if(Array.isArray(o))o.forEach(function(o,b){a(o)?(p.push("["+b+"]"),p.push("."),n(e,t,o,p),p.pop(),p.pop()):(p.push("["+b+"]"),n(e,t,o,p),p.pop())});else if("string"==typeof o){if($.test(o)){var b="Detected HTML in message '"+o+"' of keypath '"+p.join("")+"' at '"+t+"'. Consider component interpolation with '' to avoid XSS. See https://bit.ly/2ZqJzkp";"warn"===e?M(b):"error"===e&&function(e,t){"undefined"!=typeof console&&(console.error("[vue-i18n] "+e),t&&console.error(t.stack))}(b)}}};n(t,e,o,[])},ee.prototype._initVM=function(e){var t=f.config.silent;f.config.silent=!0,this._vm=new f({data:e}),f.config.silent=t},ee.prototype.destroyVM=function(){this._vm.$destroy()},ee.prototype.subscribeDataChanging=function(e){this._dataListeners.push(e)},ee.prototype.unsubscribeDataChanging=function(e){!function(e,t){if(e.length){var o=e.indexOf(t);if(o>-1)e.splice(o,1)}}(this._dataListeners,e)},ee.prototype.watchI18nData=function(){var e=this;return this._vm.$watch("$data",function(){for(var t=e._dataListeners.length;t--;)f.nextTick(function(){e._dataListeners[t]&&e._dataListeners[t].$forceUpdate()})},{deep:!0})},ee.prototype.watchLocale=function(){if(!this._sync||!this._root)return null;var e=this._vm;return this._root.$i18n.vm.$watch("locale",function(t){e.$set(e,"locale",t),e.$forceUpdate()},{immediate:!0})},te.vm.get=function(){return this._vm},te.messages.get=function(){return O(this._getMessages())},te.dateTimeFormats.get=function(){return O(this._getDateTimeFormats())},te.numberFormats.get=function(){return O(this._getNumberFormats())},te.availableLocales.get=function(){return Object.keys(this.messages).sort()},te.locale.get=function(){return this._vm.locale},te.locale.set=function(e){this._vm.$set(this._vm,"locale",e)},te.fallbackLocale.get=function(){return this._vm.fallbackLocale},te.fallbackLocale.set=function(e){this._vm.$set(this._vm,"fallbackLocale",e)},te.missing.get=function(){return this._missing},te.missing.set=function(e){this._missing=e},te.formatter.get=function(){return this._formatter},te.formatter.set=function(e){this._formatter=e},te.silentTranslationWarn.get=function(){return this._silentTranslationWarn},te.silentTranslationWarn.set=function(e){this._silentTranslationWarn=e},te.silentFallbackWarn.get=function(){return this._silentFallbackWarn},te.silentFallbackWarn.set=function(e){this._silentFallbackWarn=e},te.preserveDirectiveContent.get=function(){return this._preserveDirectiveContent},te.preserveDirectiveContent.set=function(e){this._preserveDirectiveContent=e},te.warnHtmlInMessage.get=function(){return this._warnHtmlInMessage},te.warnHtmlInMessage.set=function(e){var t=this,o=this._warnHtmlInMessage;if(this._warnHtmlInMessage=e,o!==e&&("warn"===e||"error"===e)){var n=this._getMessages();Object.keys(n).forEach(function(e){t._checkLocaleMessage(e,t._warnHtmlInMessage,n[e])})}},ee.prototype._getMessages=function(){return this._vm.messages},ee.prototype._getDateTimeFormats=function(){return this._vm.dateTimeFormats},ee.prototype._getNumberFormats=function(){return this._vm.numberFormats},ee.prototype._warnDefault=function(e,t,o,n,p){if(!c(o))return o;if(this._missing){var b=this._missing.apply(null,[e,t,n,p]);if("string"==typeof b)return b}else 0;return t},ee.prototype._isFallbackRoot=function(e){return!e&&!c(this._root)&&this._fallbackRoot},ee.prototype._isSilentFallback=function(e){return this._silentFallbackWarn&&(this._isFallbackRoot()||e!==this.fallbackLocale)},ee.prototype._interpolate=function(e,t,o,n,p,b,M){if(!t)return null;var r,z=this._path.getPathValue(t,o);if(Array.isArray(z)||a(z))return z;if(c(z)){if(!a(t))return null;if("string"!=typeof(r=t[o]))return null}else{if("string"!=typeof z)return null;r=z}return(r.indexOf("@:")>=0||r.indexOf("@.")>=0)&&(r=this._link(e,t,r,n,"raw",b,M)),this._render(r,p,b,o)},ee.prototype._link=function(e,t,o,n,p,b,M){var r=o,z=r.match(G);for(var i in z)if(z.hasOwnProperty(i)){var a=z[i],c=a.match(K),s=c[0],O=c[1],l=a.replace(s,"").replace(Q,"");if(M.includes(l))return r;M.push(l);var d=this._interpolate(e,t,l,n,"raw"===p?"string":p,"raw"===p?void 0:b,M);if(this._isFallbackRoot(d)){if(!this._root)throw Error("unexpected error");var u=this._root.$i18n;d=u._translate(u._getMessages(),u.locale,u.fallbackLocale,l,n,p,b)}d=this._warnDefault(e,l,d,n,Array.isArray(b)?b:[b]),J.hasOwnProperty(O)&&(d=J[O](d)),M.pop(),r=d?r.replace(a,d):r}return r},ee.prototype._render=function(e,t,o,n){var p=this._formatter.interpolate(e,o,n);return p||(p=Z.interpolate(e,o,n)),"string"===t?p.join(""):p},ee.prototype._translate=function(e,t,o,n,p,b,M){var r=this._interpolate(t,e[t],n,p,b,M,[n]);return c(r)&&c(r=this._interpolate(o,e[o],n,p,b,M,[n]))?null:r},ee.prototype._t=function(e,t,o,n){for(var p,b=[],M=arguments.length-4;M-- >0;)b[M]=arguments[M+4];if(!e)return"";var r=s.apply(void 0,b),z=r.locale||t,i=this._translate(o,z,this.fallbackLocale,e,n,"string",r.params);if(this._isFallbackRoot(i)){if(!this._root)throw Error("unexpected error");return(p=this._root).$t.apply(p,[e].concat(b))}return this._warnDefault(z,e,i,n,b)},ee.prototype.t=function(e){for(var t,o=[],n=arguments.length-1;n-- >0;)o[n]=arguments[n+1];return(t=this)._t.apply(t,[e,this.locale,this._getMessages(),null].concat(o))},ee.prototype._i=function(e,t,o,n,p){var b=this._translate(o,t,this.fallbackLocale,e,n,"raw",p);if(this._isFallbackRoot(b)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.i(e,t,p)}return this._warnDefault(t,e,b,n,[p])},ee.prototype.i=function(e,t,o){return e?("string"!=typeof t&&(t=this.locale),this._i(e,t,this._getMessages(),null,o)):""},ee.prototype._tc=function(e,t,o,n,p){for(var b,M=[],r=arguments.length-5;r-- >0;)M[r]=arguments[r+5];if(!e)return"";void 0===p&&(p=1);var z={count:p,n:p},i=s.apply(void 0,M);return i.params=Object.assign(z,i.params),M=null===i.locale?[i.params]:[i.locale,i.params],this.fetchChoice((b=this)._t.apply(b,[e,t,o,n].concat(M)),p)},ee.prototype.fetchChoice=function(e,t){if(!e&&"string"!=typeof e)return null;var o=e.split("|");return o[t=this.getChoiceIndex(t,o.length)]?o[t].trim():e},ee.prototype.getChoiceIndex=function(e,t){var o,n;return this.locale in this.pluralizationRules?this.pluralizationRules[this.locale].apply(this,[e,t]):(o=e,n=t,o=Math.abs(o),2===n?o?o>1?1:0:1:o?Math.min(o,2):0)},ee.prototype.tc=function(e,t){for(var o,n=[],p=arguments.length-2;p-- >0;)n[p]=arguments[p+2];return(o=this)._tc.apply(o,[e,this.locale,this._getMessages(),null,t].concat(n))},ee.prototype._te=function(e,t,o){for(var n=[],p=arguments.length-3;p-- >0;)n[p]=arguments[p+3];var b=s.apply(void 0,n).locale||t;return this._exist(o[b],e)},ee.prototype.te=function(e,t){return this._te(e,this.locale,this._getMessages(),t)},ee.prototype.getLocaleMessage=function(e){return O(this._vm.messages[e]||{})},ee.prototype.setLocaleMessage=function(e,t){("warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||(this._checkLocaleMessage(e,this._warnHtmlInMessage,t),"error"!==this._warnHtmlInMessage))&&this._vm.$set(this._vm.messages,e,t)},ee.prototype.mergeLocaleMessage=function(e,t){("warn"!==this._warnHtmlInMessage&&"error"!==this._warnHtmlInMessage||(this._checkLocaleMessage(e,this._warnHtmlInMessage,t),"error"!==this._warnHtmlInMessage))&&this._vm.$set(this._vm.messages,e,u(this._vm.messages[e]||{},t))},ee.prototype.getDateTimeFormat=function(e){return O(this._vm.dateTimeFormats[e]||{})},ee.prototype.setDateTimeFormat=function(e,t){this._vm.$set(this._vm.dateTimeFormats,e,t)},ee.prototype.mergeDateTimeFormat=function(e,t){this._vm.$set(this._vm.dateTimeFormats,e,u(this._vm.dateTimeFormats[e]||{},t))},ee.prototype._localizeDateTime=function(e,t,o,n,p){var b=t,M=n[b];if((c(M)||c(M[p]))&&(M=n[b=o]),c(M)||c(M[p]))return null;var r=M[p],z=b+"__"+p,i=this._dateTimeFormatters[z];return i||(i=this._dateTimeFormatters[z]=new Intl.DateTimeFormat(b,r)),i.format(e)},ee.prototype._d=function(e,t,o){if(!o)return new Intl.DateTimeFormat(t).format(e);var n=this._localizeDateTime(e,t,this.fallbackLocale,this._getDateTimeFormats(),o);if(this._isFallbackRoot(n)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.d(e,o,t)}return n||""},ee.prototype.d=function(e){for(var t=[],o=arguments.length-1;o-- >0;)t[o]=arguments[o+1];var n=this.locale,p=null;return 1===t.length?"string"==typeof t[0]?p=t[0]:r(t[0])&&(t[0].locale&&(n=t[0].locale),t[0].key&&(p=t[0].key)):2===t.length&&("string"==typeof t[0]&&(p=t[0]),"string"==typeof t[1]&&(n=t[1])),this._d(e,n,p)},ee.prototype.getNumberFormat=function(e){return O(this._vm.numberFormats[e]||{})},ee.prototype.setNumberFormat=function(e,t){this._vm.$set(this._vm.numberFormats,e,t)},ee.prototype.mergeNumberFormat=function(e,t){this._vm.$set(this._vm.numberFormats,e,u(this._vm.numberFormats[e]||{},t))},ee.prototype._getNumberFormatter=function(e,t,o,n,p,b){var M=t,r=n[M];if((c(r)||c(r[p]))&&(r=n[M=o]),c(r)||c(r[p]))return null;var z,i=r[p];if(b)z=new Intl.NumberFormat(M,Object.assign({},i,b));else{var a=M+"__"+p;(z=this._numberFormatters[a])||(z=this._numberFormatters[a]=new Intl.NumberFormat(M,i))}return z},ee.prototype._n=function(e,t,o,n){if(!ee.availabilities.numberFormat)return"";if(!o)return(n?new Intl.NumberFormat(t,n):new Intl.NumberFormat(t)).format(e);var p=this._getNumberFormatter(e,t,this.fallbackLocale,this._getNumberFormats(),o,n),b=p&&p.format(e);if(this._isFallbackRoot(b)){if(!this._root)throw Error("unexpected error");return this._root.$i18n.n(e,Object.assign({},{key:o,locale:t},n))}return b||""},ee.prototype.n=function(e){for(var t=[],o=arguments.length-1;o-- >0;)t[o]=arguments[o+1];var n=this.locale,p=null,M=null;return 1===t.length?"string"==typeof t[0]?p=t[0]:r(t[0])&&(t[0].locale&&(n=t[0].locale),t[0].key&&(p=t[0].key),M=Object.keys(t[0]).reduce(function(e,o){var n;return b.includes(o)?Object.assign({},e,((n={})[o]=t[0][o],n)):e},null)):2===t.length&&("string"==typeof t[0]&&(p=t[0]),"string"==typeof t[1]&&(n=t[1])),this._n(e,n,p,M)},ee.prototype._ntp=function(e,t,o,n){if(!ee.availabilities.numberFormat)return[];if(!o)return(n?new Intl.NumberFormat(t,n):new Intl.NumberFormat(t)).formatToParts(e);var p=this._getNumberFormatter(e,t,this.fallbackLocale,this._getNumberFormats(),o,n),b=p&&p.formatToParts(e);if(this._isFallbackRoot(b)){if(!this._root)throw Error("unexpected error");return this._root.$i18n._ntp(e,t,o,n)}return b||[]},Object.defineProperties(ee.prototype,te),Object.defineProperty(ee,"availabilities",{get:function(){if(!Y){var e="undefined"!=typeof Intl;Y={dateTimeFormat:e&&void 0!==Intl.DateTimeFormat,numberFormat:e&&void 0!==Intl.NumberFormat}}return Y}}),ee.install=B,ee.version="8.11.2";var oe=ee,ne=o("wd/R"),pe=o.n(ne),be=o("OXaL");Vue.use(oe),Vue.filter("formatDate",function(e){if(e)return pe()(String(e)).format("LL")}),window.marked=o("DlQD");t.default={i18n:new oe({locale:"en",fallbackLocale:"en",messages:{en:be}}),loadedLanguages:["en"],_setI18nLanguage:function(e){this.i18n.locale=e,p.a.defaults.headers.common["Accept-Language"]=e,document.querySelector("html").setAttribute("lang",e)},_loadLanguageAsync:function(e){var t=this;return this.i18n.locale===e||this.loadedLanguages.includes(e)?Promise.resolve(this.i18n):p.a.get("js/langs/".concat(e,".json")).then(function(o){return t.i18n.setLocaleMessage(e,o.data),t.loadedLanguages.push(e),t.i18n})},loadLanguage:function(e,t){var o=this;return this._loadLanguageAsync(e).then(function(n){return t&&o._setI18nLanguage(e),pe.a.locale("zh"===e?"zh-cn":e),n})}}},CP80:function(e,t,o){"use strict";var n=o("Grx/");o.n(n).a},CgaS:function(e,t,o){"use strict";var n=o("xTJ+"),p=o("MLWZ"),b=o("9rSQ"),M=o("UnBK"),r=o("SntB");function z(e){this.defaults=e,this.interceptors={request:new b,response:new b}}z.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=r(this.defaults,e)).method=e.method?e.method.toLowerCase():"get";var t=[M,void 0],o=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)o=o.then(t.shift(),t.shift());return o},z.prototype.getUri=function(e){return e=r(this.defaults,e),p(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},n.forEach(["delete","get","head","options"],function(e){z.prototype[e]=function(t,o){return this.request(n.merge(o||{},{method:e,url:t}))}}),n.forEach(["post","put","patch"],function(e){z.prototype[e]=function(t,o,p){return this.request(n.merge(p||{},{method:e,url:t,data:o}))}}),e.exports=z},DaWx:function(e,t,o){"use strict";o.r(t);var n=o("yKoB"),p={props:{item:{type:Object,required:!0,default:null}}},b=(o("d++i"),o("KHd+")),M=Object(b.a)(p,function(){var e=this,t=e.$createElement,o=e._self._c||t;return e.item.id>0?o("div",{staticClass:"item-search-result",attrs:{"data-contact":e.item.id,"data-name":e.item.name}},[o("a",{attrs:{href:"/people/"+e.item.hash_id}},[e.item.information.avatar.has_avatar?o("img",{staticClass:"avatar",attrs:{src:e.item.information.avatar.avatar_url}}):o("div",{staticClass:"avatar avatar-initials",style:"background-color: "+e.item.information.avatar.default_avatar_color},[e._v("\n "+e._s(e.item.initials)+"\n ")]),e._v("\n "+e._s(e.item.complete_name)+"\n "),o("span")])]):o("div",{staticClass:"item-search-result"},[o("a",{attrs:{href:"/people/add"}},[o("div",{staticClass:"avatar avatar-initials avatar-new"},[e._v("+")]),e._v("\n "+e._s(e.$t("people.people_add_new"))+"\n "),o("span")])])},[],!1,null,"ae8fdaf2",null).exports,r={components:{ContactAutosuggest:n.a},props:{title:{type:String,default:null},required:{type:Boolean,default:!0},placeholder:{type:String,default:""}},computed:{componentItem:function(){return M}},methods:{select:function(e){e.item.id>0?window.location="/people/"+e.item.hash_id:window.location="/people/add"}}},z=Object(b.a)(r,function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("contact-autosuggest",{attrs:{title:this.title,required:this.required,placeholder:this.placeholder,"component-item":this.componentItem,"input-class":"header-search-input"},on:{select:this.select}})],1)},[],!1,null,null,null);t.default=z.exports},DfZB:function(e,t,o){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},DlQD:function(e,t,o){(function(t){!function(t){"use strict";var o={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:u,table:u,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function n(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||m.defaults,this.rules=o.normal,this.options.pedantic?this.rules=o.pedantic:this.options.gfm&&(this.rules=o.gfm)}o._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,o._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,o.def=s(o.def).replace("label",o._label).replace("title",o._title).getRegex(),o.bullet=/(?:[*+-]|\d{1,9}\.)/,o.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,o.item=s(o.item,"gm").replace(/bull/g,o.bullet).getRegex(),o.list=s(o.list).replace(/bull/g,o.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+o.def.source+")").getRegex(),o._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",o._comment=//,o.html=s(o.html,"i").replace("comment",o._comment).replace("tag",o._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),o.paragraph=s(o._paragraph).replace("hr",o.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|!--)").replace("tag",o._tag).getRegex(),o.blockquote=s(o.blockquote).replace("paragraph",o.paragraph).getRegex(),o.normal=A({},o),o.gfm=A({},o.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),o.pedantic=A({},o.normal,{html:s("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",o._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:u,paragraph:s(o.normal._paragraph).replace("hr",o.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",o.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),n.rules=o,n.lex=function(e,t){return new n(t).lex(e)},n.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},n.prototype.token=function(e,t){var n,p,b,M,r,z,i,c,s,O,l,d,u,A,h,W;for(e=e.replace(/^ +$/gm,"");e;)if((b=this.rules.newline.exec(e))&&(e=e.substring(b[0].length),b[0].length>1&&this.tokens.push({type:"space"})),b=this.rules.code.exec(e)){var m=this.tokens[this.tokens.length-1];e=e.substring(b[0].length),m&&"paragraph"===m.type?m.text+="\n"+b[0].trimRight():(b=b[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?b:q(b,"\n")}))}else if(b=this.rules.fences.exec(e))e=e.substring(b[0].length),this.tokens.push({type:"code",lang:b[2]?b[2].trim():b[2],text:b[3]||""});else if(b=this.rules.heading.exec(e))e=e.substring(b[0].length),this.tokens.push({type:"heading",depth:b[1].length,text:b[2]});else if((b=this.rules.nptable.exec(e))&&(z={type:"table",header:f(b[1].replace(/^ *| *\| *$/g,"")),align:b[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:b[3]?b[3].replace(/\n$/,"").split("\n"):[]}).header.length===z.align.length){for(e=e.substring(b[0].length),l=0;l ?/gm,""),this.token(b,t),this.tokens.push({type:"blockquote_end"});else if(b=this.rules.list.exec(e)){for(e=e.substring(b[0].length),i={type:"list_start",ordered:A=(M=b[2]).length>1,start:A?+M:"",loose:!1},this.tokens.push(i),c=[],n=!1,u=(b=b[0].match(this.rules.item)).length,l=0;l1?1===r.length:r.length>1||this.options.smartLists&&r!==M)&&(e=b.slice(l+1).join("\n")+e,l=u-1)),p=n||/\n\n(?!\s*$)/.test(z),l!==u-1&&(n="\n"===z.charAt(z.length-1),p||(p=n)),p&&(i.loose=!0),W=void 0,(h=/^\[[ xX]\] /.test(z))&&(W=" "!==z[1],z=z.replace(/^\[[ xX]\] +/,"")),s={type:"list_item_start",task:h,checked:W,loose:p},c.push(s),this.tokens.push(s),this.token(z,!1),this.tokens.push({type:"list_item_end"});if(i.loose)for(u=c.length,l=0;l?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:u,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:u,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~",p.em=s(p.em).replace(/punctuation/g,p._punctuation).getRegex(),p._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,p._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,p._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,p.autolink=s(p.autolink).replace("scheme",p._scheme).replace("email",p._email).getRegex(),p._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,p.tag=s(p.tag).replace("comment",o._comment).replace("attribute",p._attribute).getRegex(),p._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,p._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,p._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,p.link=s(p.link).replace("label",p._label).replace("href",p._href).replace("title",p._title).getRegex(),p.reflink=s(p.reflink).replace("label",p._label).getRegex(),p.normal=A({},p),p.pedantic=A({},p.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:s(/^!?\[(label)\]\((.*?)\)/).replace("label",p._label).getRegex(),reflink:s(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",p._label).getRegex()}),p.gfm=A({},p.normal,{escape:s(p.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\/i.test(M[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(M[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(M[0])&&(this.inRawBlock=!1),e=e.substring(M[0].length),z+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(M[0]):a(M[0]):M[0];else if(M=this.rules.link.exec(e)){var i=h(M[2],"()");if(i>-1){var c=4+M[1].length+i;M[2]=M[2].substring(0,i),M[0]=M[0].substring(0,c).trim(),M[3]=""}e=e.substring(M[0].length),this.inLink=!0,n=M[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n))?(n=t[1],p=t[3]):p="":p=M[3]?M[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),z+=this.outputLink(M,{href:b.escapes(n),title:b.escapes(p)}),this.inLink=!1}else if((M=this.rules.reflink.exec(e))||(M=this.rules.nolink.exec(e))){if(e=e.substring(M[0].length),t=(M[2]||M[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){z+=M[0].charAt(0),e=M[0].substring(1)+e;continue}this.inLink=!0,z+=this.outputLink(M,t),this.inLink=!1}else if(M=this.rules.strong.exec(e))e=e.substring(M[0].length),z+=this.renderer.strong(this.output(M[4]||M[3]||M[2]||M[1]));else if(M=this.rules.em.exec(e))e=e.substring(M[0].length),z+=this.renderer.em(this.output(M[6]||M[5]||M[4]||M[3]||M[2]||M[1]));else if(M=this.rules.code.exec(e))e=e.substring(M[0].length),z+=this.renderer.codespan(a(M[2].trim(),!0));else if(M=this.rules.br.exec(e))e=e.substring(M[0].length),z+=this.renderer.br();else if(M=this.rules.del.exec(e))e=e.substring(M[0].length),z+=this.renderer.del(this.output(M[1]));else if(M=this.rules.autolink.exec(e))e=e.substring(M[0].length),n="@"===M[2]?"mailto:"+(o=a(this.mangle(M[1]))):o=a(M[1]),z+=this.renderer.link(n,null,o);else if(this.inLink||!(M=this.rules.url.exec(e))){if(M=this.rules.text.exec(e))e=e.substring(M[0].length),this.inRawBlock?z+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(M[0]):a(M[0]):M[0]):z+=this.renderer.text(a(this.smartypants(M[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===M[2])n="mailto:"+(o=a(M[0]));else{do{r=M[0],M[0]=this.rules._backpedal.exec(M[0])[0]}while(r!==M[0]);o=a(M[0]),n="www."===M[1]?"http://"+o:o}e=e.substring(M[0].length),z+=this.renderer.link(n,null,o)}return z},b.escapes=function(e){return e?e.replace(b.rules._escapes,"$1"):e},b.prototype.outputLink=function(e,t){var o=t.href,n=t.title?a(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(o,n,this.output(e[1])):this.renderer.image(o,n,a(e[1]))},b.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},b.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,o="",n=e.length,p=0;p.5&&(t="x"+t.toString(16)),o+="&#"+t+";";return o},M.prototype.code=function(e,t,o){var n=(t||"").match(/\S*/)[0];if(this.options.highlight){var p=this.options.highlight(e,n);null!=p&&p!==e&&(o=!0,e=p)}return n?'
    '+(o?e:a(e,!0))+"
    \n":"
    "+(o?e:a(e,!0))+"
    "},M.prototype.blockquote=function(e){return"
    \n"+e+"
    \n"},M.prototype.html=function(e){return e},M.prototype.heading=function(e,t,o,n){return this.options.headerIds?"'+e+"\n":""+e+"\n"},M.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},M.prototype.list=function(e,t,o){var n=t?"ol":"ul";return"<"+n+(t&&1!==o?' start="'+o+'"':"")+">\n"+e+"\n"},M.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},M.prototype.checkbox=function(e){return" "},M.prototype.paragraph=function(e){return"

    "+e+"

    \n"},M.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},M.prototype.tablerow=function(e){return"\n"+e+"\n"},M.prototype.tablecell=function(e,t){var o=t.header?"th":"td";return(t.align?"<"+o+' align="'+t.align+'">':"<"+o+">")+e+"\n"},M.prototype.strong=function(e){return""+e+""},M.prototype.em=function(e){return""+e+""},M.prototype.codespan=function(e){return""+e+""},M.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},M.prototype.del=function(e){return""+e+""},M.prototype.link=function(e,t,o){if(null===(e=O(this.options.sanitize,this.options.baseUrl,e)))return o;var n='
    "},M.prototype.image=function(e,t,o){if(null===(e=O(this.options.sanitize,this.options.baseUrl,e)))return o;var n=''+o+'":">"},M.prototype.text=function(e){return e},r.prototype.strong=r.prototype.em=r.prototype.codespan=r.prototype.del=r.prototype.text=function(e){return e},r.prototype.link=r.prototype.image=function(e,t,o){return""+o},r.prototype.br=function(){return""},z.parse=function(e,t){return new z(t).parse(e)},z.prototype.parse=function(e){this.inline=new b(e.links,this.options),this.inlineText=new b(e.links,A({},this.options,{renderer:new r})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},z.prototype.next=function(){return this.token=this.tokens.pop(),this.token},z.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},z.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},z.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,o,n,p="",b="";for(o="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var o=t;do{this.seen[o]++,t=o+"-"+this.seen[o]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},a.escapeTest=/[&<>"']/,a.escapeReplace=/[&<>"']/g,a.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},a.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,a.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var l={},d=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function u(){}function A(e){for(var t,o,n=1;n=0&&"\\"===o[p];)n=!n;return n?"|":" |"}).split(/ \|/),n=0;if(o.length>t)o.splice(t);else for(;o.lengthAn error occurred:

    "+a(e.message+"",!0)+"
    ";throw e}}u.exec=u,m.options=m.setOptions=function(e){return A(m.defaults,e),m},m.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new M,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},m.defaults=m.getDefaults(),m.Parser=z,m.parser=z.parse,m.Renderer=M,m.TextRenderer=r,m.Lexer=n,m.lexer=n.lex,m.InlineLexer=b,m.inlineLexer=b.output,m.Slugger=i,m.parse=m,e.exports=m}(this||"undefined"!=typeof window&&window)}).call(this,o("yLpj"))},DoHr:function(e,t,o){!function(e){"use strict";var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,o){switch(o){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'ıncı";var n=e%10,p=e%100-n,b=e>=100?100:null;return e+(t[n]||t[p]||t[b])}},week:{dow:1,doy:7}})}(o("wd/R"))},Dvum:function(e,t,o){var n,p,b;!function(M,r){"use strict";e.exports?e.exports=r(o("wd/R")):(p=[o("wd/R")],void 0===(b="function"==typeof(n=r)?n.apply(t,p):n)||(e.exports=b))}(0,function(e){"use strict";var t,o={},n={},p={},b={};e&&"string"==typeof e.version||R("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var M=e.version.split("."),r=+M[0],z=+M[1];function i(e){return e>96?e-87:e>64?e-29:e-48}function a(e){var t=0,o=e.split("."),n=o[0],p=o[1]||"",b=1,M=0,r=1;for(45===e.charCodeAt(0)&&(t=1,r=-1);t3){var t=p[m(e)];if(t)return t;R("Moment Timezone found "+e+" from the Intl api, but did not have that data loaded.")}}catch(e){}var o,n,b,M=function(){var e,t,o,n=(new Date).getFullYear()-2,p=new d(new Date(n,0,1)),b=[p];for(o=1;o<48;o++)(t=new d(new Date(n,o,1))).offset!==p.offset&&(e=A(p,t),b.push(e),b.push(new d(new Date(e.at+6e4)))),p=t;for(o=0;o<4;o++)b.push(new d(new Date(n+o,0,1))),b.push(new d(new Date(n+o,6,1)));return b}(),r=M.length,z=h(M),i=[];for(n=0;n0?i[0].zone.name:void 0}function m(e){return(e||"").toLowerCase().replace(/\//g,"_")}function g(e){var t,n,b,M;for("string"==typeof e&&(e=[e]),t=0;t= 2.6.0. You are using Moment.js "+e.version+". See momentjs.com"),l.prototype={_set:function(e){this.name=e.name,this.abbrs=e.abbrs,this.untils=e.untils,this.offsets=e.offsets,this.population=e.population},_index:function(e){var t,o=+e,n=this.untils;for(t=0;tn&&B.moveInvalidForward&&(t=n),b0&&(this._z=null),X.apply(this,arguments)}),e.tz.setDefault=function(t){return(r<2||2===r&&z<9)&&R("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+e.version+"."),e.defaultZone=t?_(t):null,e};var T=e.momentProperties;return"[object Array]"===Object.prototype.toString.call(T)?(T.push("_z"),T.push("_a")):T&&(T._z=null),e})},EVdn:function(e,t,o){var n;!function(t,o){"use strict";"object"==typeof e.exports?e.exports=t.document?o(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return o(e)}:o(t)}("undefined"!=typeof window?window:this,function(o,p){"use strict";var b=[],M=o.document,r=Object.getPrototypeOf,z=b.slice,i=b.concat,a=b.push,c=b.indexOf,s={},O=s.toString,l=s.hasOwnProperty,d=l.toString,u=d.call(Object),A={},f=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},q=function(e){return null!=e&&e===e.window},h={type:!0,src:!0,nonce:!0,noModule:!0};function W(e,t,o){var n,p,b=(o=o||M).createElement("script");if(b.text=e,t)for(n in h)(p=t[n]||t.getAttribute&&t.getAttribute(n))&&b.setAttribute(n,p);o.head.appendChild(b).parentNode.removeChild(b)}function m(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?s[O.call(e)]||"object":typeof e}var g=function(e,t){return new g.fn.init(e,t)},_=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function v(e){var t=!!e&&"length"in e&&e.length,o=m(e);return!f(e)&&!q(e)&&("array"===o||0===t||"number"==typeof t&&t>0&&t-1 in e)}g.fn=g.prototype={jquery:"3.4.1",constructor:g,length:0,toArray:function(){return z.call(this)},get:function(e){return null==e?z.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=g.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return g.each(this,e)},map:function(e){return this.pushStack(g.map(this,function(t,o){return e.call(t,o,t)}))},slice:function(){return this.pushStack(z.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,o=+e+(e<0?t:0);return this.pushStack(o>=0&&o+~]|"+C+")"+C+"*"),V=new RegExp(C+"|>"),U=new RegExp(D),Y=new RegExp("^"+H+"$"),$={ID:new RegExp("^#("+H+")"),CLASS:new RegExp("^\\.("+H+")"),TAG:new RegExp("^("+H+"|[*])"),ATTR:new RegExp("^"+F),PSEUDO:new RegExp("^"+D),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+C+"*(even|odd|(([+-]|)(\\d*)n|)"+C+"*(?:([+-]|)"+C+"*(\\d+)|))"+C+"*\\)|)","i"),bool:new RegExp("^(?:"+k+")$","i"),needsContext:new RegExp("^"+C+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+C+"*((?:-\\d)?\\d*)"+C+"*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,K=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+C+"?|("+C+")|.)","ig"),oe=function(e,t,o){var n="0x"+t-65536;return n!=n||o?t:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)},ne=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,pe=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},be=function(){s()},Me=he(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{T.apply(L=x.call(W.childNodes),W.childNodes),L[W.childNodes.length].nodeType}catch(e){T={apply:L.length?function(e,t){N.apply(e,x.call(t))}:function(e,t){for(var o=e.length,n=0;e[o++]=t[n++];);e.length=o-1}}}function re(e,t,n,p){var b,r,i,a,c,l,A,f=t&&t.ownerDocument,m=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==m&&9!==m&&11!==m)return n;if(!p&&((t?t.ownerDocument||t:W)!==O&&s(t),t=t||O,d)){if(11!==m&&(c=Z.exec(e)))if(b=c[1]){if(9===m){if(!(i=t.getElementById(b)))return n;if(i.id===b)return n.push(i),n}else if(f&&(i=f.getElementById(b))&&q(t,i)&&i.id===b)return n.push(i),n}else{if(c[2])return T.apply(n,t.getElementsByTagName(e)),n;if((b=c[3])&&o.getElementsByClassName&&t.getElementsByClassName)return T.apply(n,t.getElementsByClassName(b)),n}if(o.qsa&&!R[e+" "]&&(!u||!u.test(e))&&(1!==m||"object"!==t.nodeName.toLowerCase())){if(A=e,f=t,1===m&&V.test(e)){for((a=t.getAttribute("id"))?a=a.replace(ne,pe):t.setAttribute("id",a=h),r=(l=M(e)).length;r--;)l[r]="#"+a+" "+qe(l[r]);A=l.join(","),f=ee.test(e)&&Ae(t.parentNode)||t}try{return T.apply(n,f.querySelectorAll(A)),n}catch(t){R(e,!0)}finally{a===h&&t.removeAttribute("id")}}}return z(e.replace(P,"$1"),t,n,p)}function ze(){var e=[];return function t(o,p){return e.push(o+" ")>n.cacheLength&&delete t[e.shift()],t[o+" "]=p}}function ie(e){return e[h]=!0,e}function ae(e){var t=O.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var o=e.split("|"),p=o.length;p--;)n.attrHandle[o[p]]=t}function se(e,t){var o=t&&e,n=o&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(n)return n;if(o)for(;o=o.nextSibling;)if(o===t)return-1;return e?1:-1}function Oe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function le(e){return function(t){var o=t.nodeName.toLowerCase();return("input"===o||"button"===o)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Me(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ue(e){return ie(function(t){return t=+t,ie(function(o,n){for(var p,b=e([],o.length,t),M=b.length;M--;)o[p=b[M]]&&(o[p]=!(n[p]=o[p]))})})}function Ae(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in o=re.support={},b=re.isXML=function(e){var t=e.namespaceURI,o=(e.ownerDocument||e).documentElement;return!G.test(t||o&&o.nodeName||"HTML")},s=re.setDocument=function(e){var t,p,M=e?e.ownerDocument||e:W;return M!==O&&9===M.nodeType&&M.documentElement?(l=(O=M).documentElement,d=!b(O),W!==O&&(p=O.defaultView)&&p.top!==p&&(p.addEventListener?p.addEventListener("unload",be,!1):p.attachEvent&&p.attachEvent("onunload",be)),o.attributes=ae(function(e){return e.className="i",!e.getAttribute("className")}),o.getElementsByTagName=ae(function(e){return e.appendChild(O.createComment("")),!e.getElementsByTagName("*").length}),o.getElementsByClassName=J.test(O.getElementsByClassName),o.getById=ae(function(e){return l.appendChild(e).id=h,!O.getElementsByName||!O.getElementsByName(h).length}),o.getById?(n.filter.ID=function(e){var t=e.replace(te,oe);return function(e){return e.getAttribute("id")===t}},n.find.ID=function(e,t){if(void 0!==t.getElementById&&d){var o=t.getElementById(e);return o?[o]:[]}}):(n.filter.ID=function(e){var t=e.replace(te,oe);return function(e){var o=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return o&&o.value===t}},n.find.ID=function(e,t){if(void 0!==t.getElementById&&d){var o,n,p,b=t.getElementById(e);if(b){if((o=b.getAttributeNode("id"))&&o.value===e)return[b];for(p=t.getElementsByName(e),n=0;b=p[n++];)if((o=b.getAttributeNode("id"))&&o.value===e)return[b]}return[]}}),n.find.TAG=o.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):o.qsa?t.querySelectorAll(e):void 0}:function(e,t){var o,n=[],p=0,b=t.getElementsByTagName(e);if("*"===e){for(;o=b[p++];)1===o.nodeType&&n.push(o);return n}return b},n.find.CLASS=o.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&d)return t.getElementsByClassName(e)},A=[],u=[],(o.qsa=J.test(O.querySelectorAll))&&(ae(function(e){l.appendChild(e).innerHTML="
    ",e.querySelectorAll("[msallowcapture^='']").length&&u.push("[*^$]="+C+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||u.push("\\["+C+"*(?:value|"+k+")"),e.querySelectorAll("[id~="+h+"-]").length||u.push("~="),e.querySelectorAll(":checked").length||u.push(":checked"),e.querySelectorAll("a#"+h+"+*").length||u.push(".#.+[+~]")}),ae(function(e){e.innerHTML="";var t=O.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&u.push("name"+C+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&u.push(":enabled",":disabled"),l.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&u.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),u.push(",.*:")})),(o.matchesSelector=J.test(f=l.matches||l.webkitMatchesSelector||l.mozMatchesSelector||l.oMatchesSelector||l.msMatchesSelector))&&ae(function(e){o.disconnectedMatch=f.call(e,"*"),f.call(e,"[s!='']:x"),A.push("!=",D)}),u=u.length&&new RegExp(u.join("|")),A=A.length&&new RegExp(A.join("|")),t=J.test(l.compareDocumentPosition),q=t||J.test(l.contains)?function(e,t){var o=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(o.contains?o.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},B=t?function(e,t){if(e===t)return c=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!o.sortDetached&&t.compareDocumentPosition(e)===n?e===O||e.ownerDocument===W&&q(W,e)?-1:t===O||t.ownerDocument===W&&q(W,t)?1:a?S(a,e)-S(a,t):0:4&n?-1:1)}:function(e,t){if(e===t)return c=!0,0;var o,n=0,p=e.parentNode,b=t.parentNode,M=[e],r=[t];if(!p||!b)return e===O?-1:t===O?1:p?-1:b?1:a?S(a,e)-S(a,t):0;if(p===b)return se(e,t);for(o=e;o=o.parentNode;)M.unshift(o);for(o=t;o=o.parentNode;)r.unshift(o);for(;M[n]===r[n];)n++;return n?se(M[n],r[n]):M[n]===W?-1:r[n]===W?1:0},O):O},re.matches=function(e,t){return re(e,null,null,t)},re.matchesSelector=function(e,t){if((e.ownerDocument||e)!==O&&s(e),o.matchesSelector&&d&&!R[t+" "]&&(!A||!A.test(t))&&(!u||!u.test(t)))try{var n=f.call(e,t);if(n||o.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){R(t,!0)}return re(t,O,null,[e]).length>0},re.contains=function(e,t){return(e.ownerDocument||e)!==O&&s(e),q(e,t)},re.attr=function(e,t){(e.ownerDocument||e)!==O&&s(e);var p=n.attrHandle[t.toLowerCase()],b=p&&X.call(n.attrHandle,t.toLowerCase())?p(e,t,!d):void 0;return void 0!==b?b:o.attributes||!d?e.getAttribute(t):(b=e.getAttributeNode(t))&&b.specified?b.value:null},re.escape=function(e){return(e+"").replace(ne,pe)},re.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},re.uniqueSort=function(e){var t,n=[],p=0,b=0;if(c=!o.detectDuplicates,a=!o.sortStable&&e.slice(0),e.sort(B),c){for(;t=e[b++];)t===e[b]&&(p=n.push(b));for(;p--;)e.splice(n[p],1)}return a=null,e},p=re.getText=function(e){var t,o="",n=0,b=e.nodeType;if(b){if(1===b||9===b||11===b){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)o+=p(e)}else if(3===b||4===b)return e.nodeValue}else for(;t=e[n++];)o+=p(t);return o},(n=re.selectors={cacheLength:50,createPseudo:ie,match:$,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,oe),e[3]=(e[3]||e[4]||e[5]||"").replace(te,oe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||re.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&re.error(e[0]),e},PSEUDO:function(e){var t,o=!e[6]&&e[2];return $.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":o&&U.test(o)&&(t=M(o,!0))&&(t=o.indexOf(")",o.length-t)-o.length)&&(e[0]=e[0].slice(0,t),e[2]=o.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,oe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+C+")"+e+"("+C+"|$)"))&&_(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,o){return function(n){var p=re.attr(n,e);return null==p?"!="===t:!t||(p+="","="===t?p===o:"!="===t?p!==o:"^="===t?o&&0===p.indexOf(o):"*="===t?o&&p.indexOf(o)>-1:"$="===t?o&&p.slice(-o.length)===o:"~="===t?(" "+p.replace(E," ")+" ").indexOf(o)>-1:"|="===t&&(p===o||p.slice(0,o.length+1)===o+"-"))}},CHILD:function(e,t,o,n,p){var b="nth"!==e.slice(0,3),M="last"!==e.slice(-4),r="of-type"===t;return 1===n&&0===p?function(e){return!!e.parentNode}:function(t,o,z){var i,a,c,s,O,l,d=b!==M?"nextSibling":"previousSibling",u=t.parentNode,A=r&&t.nodeName.toLowerCase(),f=!z&&!r,q=!1;if(u){if(b){for(;d;){for(s=t;s=s[d];)if(r?s.nodeName.toLowerCase()===A:1===s.nodeType)return!1;l=d="only"===e&&!l&&"nextSibling"}return!0}if(l=[M?u.firstChild:u.lastChild],M&&f){for(q=(O=(i=(a=(c=(s=u)[h]||(s[h]={}))[s.uniqueID]||(c[s.uniqueID]={}))[e]||[])[0]===m&&i[1])&&i[2],s=O&&u.childNodes[O];s=++O&&s&&s[d]||(q=O=0)||l.pop();)if(1===s.nodeType&&++q&&s===t){a[e]=[m,O,q];break}}else if(f&&(q=O=(i=(a=(c=(s=t)[h]||(s[h]={}))[s.uniqueID]||(c[s.uniqueID]={}))[e]||[])[0]===m&&i[1]),!1===q)for(;(s=++O&&s&&s[d]||(q=O=0)||l.pop())&&((r?s.nodeName.toLowerCase()!==A:1!==s.nodeType)||!++q||(f&&((a=(c=s[h]||(s[h]={}))[s.uniqueID]||(c[s.uniqueID]={}))[e]=[m,q]),s!==t)););return(q-=p)===n||q%n==0&&q/n>=0}}},PSEUDO:function(e,t){var o,p=n.pseudos[e]||n.setFilters[e.toLowerCase()]||re.error("unsupported pseudo: "+e);return p[h]?p(t):p.length>1?(o=[e,e,"",t],n.setFilters.hasOwnProperty(e.toLowerCase())?ie(function(e,o){for(var n,b=p(e,t),M=b.length;M--;)e[n=S(e,b[M])]=!(o[n]=b[M])}):function(e){return p(e,0,o)}):p}},pseudos:{not:ie(function(e){var t=[],o=[],n=r(e.replace(P,"$1"));return n[h]?ie(function(e,t,o,p){for(var b,M=n(e,null,p,[]),r=e.length;r--;)(b=M[r])&&(e[r]=!(t[r]=b))}):function(e,p,b){return t[0]=e,n(t,null,b,o),t[0]=null,!o.pop()}}),has:ie(function(e){return function(t){return re(e,t).length>0}}),contains:ie(function(e){return e=e.replace(te,oe),function(t){return(t.textContent||p(t)).indexOf(e)>-1}}),lang:ie(function(e){return Y.test(e||"")||re.error("unsupported lang: "+e),e=e.replace(te,oe).toLowerCase(),function(t){var o;do{if(o=d?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(o=o.toLowerCase())===e||0===o.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var o=e.location&&e.location.hash;return o&&o.slice(1)===t.id},root:function(e){return e===l},focus:function(e){return e===O.activeElement&&(!O.hasFocus||O.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!n.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return K.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ue(function(){return[0]}),last:ue(function(e,t){return[t-1]}),eq:ue(function(e,t,o){return[o<0?o+t:o]}),even:ue(function(e,t){for(var o=0;ot?t:o;--n>=0;)e.push(n);return e}),gt:ue(function(e,t,o){for(var n=o<0?o+t:o;++n1?function(t,o,n){for(var p=e.length;p--;)if(!e[p](t,o,n))return!1;return!0}:e[0]}function me(e,t,o,n,p){for(var b,M=[],r=0,z=e.length,i=null!=t;r-1&&(b[i]=!(M[i]=c))}}else A=me(A===M?A.splice(l,A.length):A),p?p(null,M,A,z):T.apply(M,A)})}function _e(e){for(var t,o,p,b=e.length,M=n.relative[e[0].type],r=M||n.relative[" "],z=M?1:0,a=he(function(e){return e===t},r,!0),c=he(function(e){return S(t,e)>-1},r,!0),s=[function(e,o,n){var p=!M&&(n||o!==i)||((t=o).nodeType?a(e,o,n):c(e,o,n));return t=null,p}];z1&&We(s),z>1&&qe(e.slice(0,z-1).concat({value:" "===e[z-2].type?"*":""})).replace(P,"$1"),o,z0,p=e.length>0,b=function(b,M,r,z,a){var c,l,u,A=0,f="0",q=b&&[],h=[],W=i,g=b||p&&n.find.TAG("*",a),_=m+=null==W?1:Math.random()||.1,v=g.length;for(a&&(i=M===O||M||a);f!==v&&null!=(c=g[f]);f++){if(p&&c){for(l=0,M||c.ownerDocument===O||(s(c),r=!d);u=e[l++];)if(u(c,M||O,r)){z.push(c);break}a&&(m=_)}o&&((c=!u&&c)&&A--,b&&q.push(c))}if(A+=f,o&&f!==A){for(l=0;u=t[l++];)u(q,h,M,r);if(b){if(A>0)for(;f--;)q[f]||h[f]||(h[f]=w.call(z));h=me(h)}T.apply(z,h),a&&!b&&h.length>0&&A+t.length>1&&re.uniqueSort(z)}return a&&(m=_,i=W),q};return o?ie(b):b}(b,p))).selector=e}return r},z=re.select=function(e,t,o,p){var b,z,i,a,c,s="function"==typeof e&&e,O=!p&&M(e=s.selector||e);if(o=o||[],1===O.length){if((z=O[0]=O[0].slice(0)).length>2&&"ID"===(i=z[0]).type&&9===t.nodeType&&d&&n.relative[z[1].type]){if(!(t=(n.find.ID(i.matches[0].replace(te,oe),t)||[])[0]))return o;s&&(t=t.parentNode),e=e.slice(z.shift().value.length)}for(b=$.needsContext.test(e)?0:z.length;b--&&(i=z[b],!n.relative[a=i.type]);)if((c=n.find[a])&&(p=c(i.matches[0].replace(te,oe),ee.test(z[0].type)&&Ae(t.parentNode)||t))){if(z.splice(b,1),!(e=p.length&&qe(z)))return T.apply(o,p),o;break}}return(s||r(e,O))(p,t,!d,o,!t||ee.test(e)&&Ae(t.parentNode)||t),o},o.sortStable=h.split("").sort(B).join("")===h,o.detectDuplicates=!!c,s(),o.sortDetached=ae(function(e){return 1&e.compareDocumentPosition(O.createElement("fieldset"))}),ae(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ce("type|href|height|width",function(e,t,o){if(!o)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),o.attributes&&ae(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ce("value",function(e,t,o){if(!o&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ae(function(e){return null==e.getAttribute("disabled")})||ce(k,function(e,t,o){var n;if(!o)return!0===e[t]?t.toLowerCase():(n=e.getAttributeNode(t))&&n.specified?n.value:null}),re}(o);g.find=y,g.expr=y.selectors,g.expr[":"]=g.expr.pseudos,g.uniqueSort=g.unique=y.uniqueSort,g.text=y.getText,g.isXMLDoc=y.isXML,g.contains=y.contains,g.escapeSelector=y.escape;var R=function(e,t,o){for(var n=[],p=void 0!==o;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(p&&g(e).is(o))break;n.push(e)}return n},B=function(e,t){for(var o=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&o.push(e);return o},X=g.expr.match.needsContext;function L(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var w=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function N(e,t,o){return f(t)?g.grep(e,function(e,n){return!!t.call(e,n,e)!==o}):t.nodeType?g.grep(e,function(e){return e===t!==o}):"string"!=typeof t?g.grep(e,function(e){return c.call(t,e)>-1!==o}):g.filter(t,e,o)}g.filter=function(e,t,o){var n=t[0];return o&&(e=":not("+e+")"),1===t.length&&1===n.nodeType?g.find.matchesSelector(n,e)?[n]:[]:g.find.matches(e,g.grep(t,function(e){return 1===e.nodeType}))},g.fn.extend({find:function(e){var t,o,n=this.length,p=this;if("string"!=typeof e)return this.pushStack(g(e).filter(function(){for(t=0;t1?g.uniqueSort(o):o},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,"string"==typeof e&&X.test(e)?g(e):e||[],!1).length}});var T,x=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(g.fn.init=function(e,t,o){var n,p;if(!e)return this;if(o=o||T,"string"==typeof e){if(!(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:x.exec(e))||!n[1]&&t)return!t||t.jquery?(t||o).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof g?t[0]:t,g.merge(this,g.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:M,!0)),w.test(n[1])&&g.isPlainObject(t))for(n in t)f(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return(p=M.getElementById(n[2]))&&(this[0]=p,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):f(e)?void 0!==o.ready?o.ready(e):e(g):g.makeArray(e,this)}).prototype=g.fn,T=g(M);var S=/^(?:parents|prev(?:Until|All))/,k={children:!0,contents:!0,next:!0,prev:!0};function C(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}g.fn.extend({has:function(e){var t=g(e,this),o=t.length;return this.filter(function(){for(var e=0;e-1:1===o.nodeType&&g.find.matchesSelector(o,e))){b.push(o);break}return this.pushStack(b.length>1?g.uniqueSort(b):b)},index:function(e){return e?"string"==typeof e?c.call(g(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(g.uniqueSort(g.merge(this.get(),g(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),g.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return R(e,"parentNode")},parentsUntil:function(e,t,o){return R(e,"parentNode",o)},next:function(e){return C(e,"nextSibling")},prev:function(e){return C(e,"previousSibling")},nextAll:function(e){return R(e,"nextSibling")},prevAll:function(e){return R(e,"previousSibling")},nextUntil:function(e,t,o){return R(e,"nextSibling",o)},prevUntil:function(e,t,o){return R(e,"previousSibling",o)},siblings:function(e){return B((e.parentNode||{}).firstChild,e)},children:function(e){return B(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(L(e,"template")&&(e=e.content||e),g.merge([],e.childNodes))}},function(e,t){g.fn[e]=function(o,n){var p=g.map(this,t,o);return"Until"!==e.slice(-5)&&(n=o),n&&"string"==typeof n&&(p=g.filter(n,p)),this.length>1&&(k[e]||g.uniqueSort(p),S.test(e)&&p.reverse()),this.pushStack(p)}});var H=/[^\x20\t\r\n\f]+/g;function F(e){return e}function D(e){throw e}function E(e,t,o,n){var p;try{e&&f(p=e.promise)?p.call(e).done(t).fail(o):e&&f(p=e.then)?p.call(e,t,o):t.apply(void 0,[e].slice(n))}catch(e){o.apply(void 0,[e])}}g.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return g.each(e.match(H)||[],function(e,o){t[o]=!0}),t}(e):g.extend({},e);var t,o,n,p,b=[],M=[],r=-1,z=function(){for(p=p||e.once,n=t=!0;M.length;r=-1)for(o=M.shift();++r-1;)b.splice(o,1),o<=r&&r--}),this},has:function(e){return e?g.inArray(e,b)>-1:b.length>0},empty:function(){return b&&(b=[]),this},disable:function(){return p=M=[],b=o="",this},disabled:function(){return!b},lock:function(){return p=M=[],o||t||(b=o=""),this},locked:function(){return!!p},fireWith:function(e,o){return p||(o=[e,(o=o||[]).slice?o.slice():o],M.push(o),t||z()),this},fire:function(){return i.fireWith(this,arguments),this},fired:function(){return!!n}};return i},g.extend({Deferred:function(e){var t=[["notify","progress",g.Callbacks("memory"),g.Callbacks("memory"),2],["resolve","done",g.Callbacks("once memory"),g.Callbacks("once memory"),0,"resolved"],["reject","fail",g.Callbacks("once memory"),g.Callbacks("once memory"),1,"rejected"]],n="pending",p={state:function(){return n},always:function(){return b.done(arguments).fail(arguments),this},catch:function(e){return p.then(null,e)},pipe:function(){var e=arguments;return g.Deferred(function(o){g.each(t,function(t,n){var p=f(e[n[4]])&&e[n[4]];b[n[1]](function(){var e=p&&p.apply(this,arguments);e&&f(e.promise)?e.promise().progress(o.notify).done(o.resolve).fail(o.reject):o[n[0]+"With"](this,p?[e]:arguments)})}),e=null}).promise()},then:function(e,n,p){var b=0;function M(e,t,n,p){return function(){var r=this,z=arguments,i=function(){var o,i;if(!(e=b&&(n!==D&&(r=void 0,z=[o]),t.rejectWith(r,z))}};e?a():(g.Deferred.getStackHook&&(a.stackTrace=g.Deferred.getStackHook()),o.setTimeout(a))}}return g.Deferred(function(o){t[0][3].add(M(0,o,f(p)?p:F,o.notifyWith)),t[1][3].add(M(0,o,f(e)?e:F)),t[2][3].add(M(0,o,f(n)?n:D))}).promise()},promise:function(e){return null!=e?g.extend(e,p):p}},b={};return g.each(t,function(e,o){var M=o[2],r=o[5];p[o[1]]=M.add,r&&M.add(function(){n=r},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),M.add(o[3].fire),b[o[0]]=function(){return b[o[0]+"With"](this===b?void 0:this,arguments),this},b[o[0]+"With"]=M.fireWith}),p.promise(b),e&&e.call(b,b),b},when:function(e){var t=arguments.length,o=t,n=Array(o),p=z.call(arguments),b=g.Deferred(),M=function(e){return function(o){n[e]=this,p[e]=arguments.length>1?z.call(arguments):o,--t||b.resolveWith(n,p)}};if(t<=1&&(E(e,b.done(M(o)).resolve,b.reject,!t),"pending"===b.state()||f(p[o]&&p[o].then)))return b.then();for(;o--;)E(p[o],M(o),b.reject);return b.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;g.Deferred.exceptionHook=function(e,t){o.console&&o.console.warn&&e&&P.test(e.name)&&o.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},g.readyException=function(e){o.setTimeout(function(){throw e})};var I=g.Deferred();function j(){M.removeEventListener("DOMContentLoaded",j),o.removeEventListener("load",j),g.ready()}g.fn.ready=function(e){return I.then(e).catch(function(e){g.readyException(e)}),this},g.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--g.readyWait:g.isReady)||(g.isReady=!0,!0!==e&&--g.readyWait>0||I.resolveWith(M,[g]))}}),g.ready.then=I.then,"complete"===M.readyState||"loading"!==M.readyState&&!M.documentElement.doScroll?o.setTimeout(g.ready):(M.addEventListener("DOMContentLoaded",j),o.addEventListener("load",j));var V=function(e,t,o,n,p,b,M){var r=0,z=e.length,i=null==o;if("object"===m(o))for(r in p=!0,o)V(e,t,r,o[r],!0,b,M);else if(void 0!==n&&(p=!0,f(n)||(M=!0),i&&(M?(t.call(e,n),t=null):(i=t,t=function(e,t,o){return i.call(g(e),o)})),t))for(;r1,null,!0)},removeData:function(e){return this.each(function(){Z.remove(this,e)})}}),g.extend({queue:function(e,t,o){var n;if(e)return t=(t||"fx")+"queue",n=J.get(e,t),o&&(!n||Array.isArray(o)?n=J.access(e,t,g.makeArray(o)):n.push(o)),n||[]},dequeue:function(e,t){t=t||"fx";var o=g.queue(e,t),n=o.length,p=o.shift(),b=g._queueHooks(e,t);"inprogress"===p&&(p=o.shift(),n--),p&&("fx"===t&&o.unshift("inprogress"),delete b.stop,p.call(e,function(){g.dequeue(e,t)},b)),!n&&b&&b.empty.fire()},_queueHooks:function(e,t){var o=t+"queueHooks";return J.get(e,o)||J.access(e,o,{empty:g.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",o])})})}}),g.fn.extend({queue:function(e,t){var o=2;return"string"!=typeof e&&(t=e,e="fx",o--),arguments.length\x20\t\r\n\f]*)/i,Ae=/^$|^module$|\/(?:java|ecma)script/i,fe={option:[1,""],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function qe(e,t){var o;return o=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&L(e,t)?g.merge([e],o):o}function he(e,t){for(var o=0,n=e.length;o-1)p&&p.push(b);else if(i=re(b),M=qe(c.appendChild(b),"script"),i&&he(M),o)for(a=0;b=M[a++];)Ae.test(b.type||"")&&o.push(b);return c}We=M.createDocumentFragment().appendChild(M.createElement("div")),(me=M.createElement("input")).setAttribute("type","radio"),me.setAttribute("checked","checked"),me.setAttribute("name","t"),We.appendChild(me),A.checkClone=We.cloneNode(!0).cloneNode(!0).lastChild.checked,We.innerHTML="",A.noCloneChecked=!!We.cloneNode(!0).lastChild.defaultValue;var ve=/^key/,ye=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Re=/^([^.]*)(?:\.(.+)|)/;function Be(){return!0}function Xe(){return!1}function Le(e,t){return e===function(){try{return M.activeElement}catch(e){}}()==("focus"===t)}function we(e,t,o,n,p,b){var M,r;if("object"==typeof t){for(r in"string"!=typeof o&&(n=n||o,o=void 0),t)we(e,r,o,n,t[r],b);return e}if(null==n&&null==p?(p=o,n=o=void 0):null==p&&("string"==typeof o?(p=n,n=void 0):(p=n,n=o,o=void 0)),!1===p)p=Xe;else if(!p)return e;return 1===b&&(M=p,(p=function(e){return g().off(e),M.apply(this,arguments)}).guid=M.guid||(M.guid=g.guid++)),e.each(function(){g.event.add(this,t,p,n,o)})}function Ne(e,t,o){o?(J.set(e,t,!1),g.event.add(e,t,{namespace:!1,handler:function(e){var n,p,b=J.get(this,t);if(1&e.isTrigger&&this[t]){if(b.length)(g.event.special[t]||{}).delegateType&&e.stopPropagation();else if(b=z.call(arguments),J.set(this,t,b),n=o(this,t),this[t](),b!==(p=J.get(this,t))||n?J.set(this,t,!1):p={},b!==p)return e.stopImmediatePropagation(),e.preventDefault(),p.value}else b.length&&(J.set(this,t,{value:g.event.trigger(g.extend(b[0],g.Event.prototype),b.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===J.get(e,t)&&g.event.add(e,t,Be)}g.event={global:{},add:function(e,t,o,n,p){var b,M,r,z,i,a,c,s,O,l,d,u=J.get(e);if(u)for(o.handler&&(o=(b=o).handler,p=b.selector),p&&g.find.matchesSelector(Me,p),o.guid||(o.guid=g.guid++),(z=u.events)||(z=u.events={}),(M=u.handle)||(M=u.handle=function(t){return void 0!==g&&g.event.triggered!==t.type?g.event.dispatch.apply(e,arguments):void 0}),i=(t=(t||"").match(H)||[""]).length;i--;)O=d=(r=Re.exec(t[i])||[])[1],l=(r[2]||"").split(".").sort(),O&&(c=g.event.special[O]||{},O=(p?c.delegateType:c.bindType)||O,c=g.event.special[O]||{},a=g.extend({type:O,origType:d,data:n,handler:o,guid:o.guid,selector:p,needsContext:p&&g.expr.match.needsContext.test(p),namespace:l.join(".")},b),(s=z[O])||((s=z[O]=[]).delegateCount=0,c.setup&&!1!==c.setup.call(e,n,l,M)||e.addEventListener&&e.addEventListener(O,M)),c.add&&(c.add.call(e,a),a.handler.guid||(a.handler.guid=o.guid)),p?s.splice(s.delegateCount++,0,a):s.push(a),g.event.global[O]=!0)},remove:function(e,t,o,n,p){var b,M,r,z,i,a,c,s,O,l,d,u=J.hasData(e)&&J.get(e);if(u&&(z=u.events)){for(i=(t=(t||"").match(H)||[""]).length;i--;)if(O=d=(r=Re.exec(t[i])||[])[1],l=(r[2]||"").split(".").sort(),O){for(c=g.event.special[O]||{},s=z[O=(n?c.delegateType:c.bindType)||O]||[],r=r[2]&&new RegExp("(^|\\.)"+l.join("\\.(?:.*\\.|)")+"(\\.|$)"),M=b=s.length;b--;)a=s[b],!p&&d!==a.origType||o&&o.guid!==a.guid||r&&!r.test(a.namespace)||n&&n!==a.selector&&("**"!==n||!a.selector)||(s.splice(b,1),a.selector&&s.delegateCount--,c.remove&&c.remove.call(e,a));M&&!s.length&&(c.teardown&&!1!==c.teardown.call(e,l,u.handle)||g.removeEvent(e,O,u.handle),delete z[O])}else for(O in z)g.event.remove(e,O+t[i],o,n,!0);g.isEmptyObject(z)&&J.remove(e,"handle events")}},dispatch:function(e){var t,o,n,p,b,M,r=g.event.fix(e),z=new Array(arguments.length),i=(J.get(this,"events")||{})[r.type]||[],a=g.event.special[r.type]||{};for(z[0]=r,t=1;t=1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&("click"!==e.type||!0!==i.disabled)){for(b=[],M={},o=0;o-1:g.find(p,this,null,[i]).length),M[p]&&b.push(n);b.length&&r.push({elem:i,handlers:b})}return i=this,z\x20\t\r\n\f]*)[^>]*)\/>/gi,xe=/\s*$/g;function Ce(e,t){return L(e,"table")&&L(11!==t.nodeType?t:t.firstChild,"tr")&&g(e).children("tbody")[0]||e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Fe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function De(e,t){var o,n,p,b,M,r,z,i;if(1===t.nodeType){if(J.hasData(e)&&(b=J.access(e),M=J.set(t,b),i=b.events))for(p in delete M.handle,M.events={},i)for(o=0,n=i[p].length;o1&&"string"==typeof l&&!A.checkClone&&Se.test(l))return e.each(function(p){var b=e.eq(p);d&&(t[0]=l.call(this,p,b.html())),Ee(b,t,o,n)});if(s&&(b=(p=_e(t,e[0].ownerDocument,!1,e,n)).firstChild,1===p.childNodes.length&&(p=b),b||n)){for(r=(M=g.map(qe(p,"script"),He)).length;c")},clone:function(e,t,o){var n,p,b,M,r,z,i,a=e.cloneNode(!0),c=re(e);if(!(A.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||g.isXMLDoc(e)))for(M=qe(a),n=0,p=(b=qe(e)).length;n0&&he(M,!c&&qe(e,"script")),a},cleanData:function(e){for(var t,o,n,p=g.event.special,b=0;void 0!==(o=e[b]);b++)if(K(o)){if(t=o[J.expando]){if(t.events)for(n in t.events)p[n]?g.event.remove(o,n):g.removeEvent(o,n,t.handle);o[J.expando]=void 0}o[Z.expando]&&(o[Z.expando]=void 0)}}}),g.fn.extend({detach:function(e){return Pe(this,e,!0)},remove:function(e){return Pe(this,e)},text:function(e){return V(this,function(e){return void 0===e?g.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ee(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ce(this,e).appendChild(e)})},prepend:function(){return Ee(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Ce(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ee(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ee(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(g.cleanData(qe(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return g.clone(this,e,t)})},html:function(e){return V(this,function(e){var t=this[0]||{},o=0,n=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!xe.test(e)&&!fe[(ue.exec(e)||["",""])[1].toLowerCase()]){e=g.htmlPrefilter(e);try{for(;o=0&&(z+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-b-z-r-.5))||0),z}function pt(e,t,o){var n=je(e),p=(!A.boxSizingReliable()||o)&&"border-box"===g.css(e,"boxSizing",!1,n),b=p,M=Ue(e,t,n),r="offset"+t[0].toUpperCase()+t.slice(1);if(Ie.test(M)){if(!o)return M;M="auto"}return(!A.boxSizingReliable()&&p||"auto"===M||!parseFloat(M)&&"inline"===g.css(e,"display",!1,n))&&e.getClientRects().length&&(p="border-box"===g.css(e,"boxSizing",!1,n),(b=r in e)&&(M=e[r])),(M=parseFloat(M)||0)+nt(e,t,o||(p?"border":"content"),b,n,M)+"px"}function bt(e,t,o,n,p){return new bt.prototype.init(e,t,o,n,p)}g.extend({cssHooks:{opacity:{get:function(e,t){if(t){var o=Ue(e,"opacity");return""===o?"1":o}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,o,n){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var p,b,M,r=G(t),z=Ze.test(t),i=e.style;if(z||(t=Qe(r)),M=g.cssHooks[t]||g.cssHooks[r],void 0===o)return M&&"get"in M&&void 0!==(p=M.get(e,!1,n))?p:i[t];"string"===(b=typeof o)&&(p=pe.exec(o))&&p[1]&&(o=ce(e,t,p),b="number"),null!=o&&o==o&&("number"!==b||z||(o+=p&&p[3]||(g.cssNumber[r]?"":"px")),A.clearCloneStyle||""!==o||0!==t.indexOf("background")||(i[t]="inherit"),M&&"set"in M&&void 0===(o=M.set(e,o,n))||(z?i.setProperty(t,o):i[t]=o))}},css:function(e,t,o,n){var p,b,M,r=G(t);return Ze.test(t)||(t=Qe(r)),(M=g.cssHooks[t]||g.cssHooks[r])&&"get"in M&&(p=M.get(e,!0,o)),void 0===p&&(p=Ue(e,t,n)),"normal"===p&&t in tt&&(p=tt[t]),""===o||o?(b=parseFloat(p),!0===o||isFinite(b)?b||0:p):p}}),g.each(["height","width"],function(e,t){g.cssHooks[t]={get:function(e,o,n){if(o)return!Je.test(g.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?pt(e,t,n):ae(e,et,function(){return pt(e,t,n)})},set:function(e,o,n){var p,b=je(e),M=!A.scrollboxSize()&&"absolute"===b.position,r=(M||n)&&"border-box"===g.css(e,"boxSizing",!1,b),z=n?nt(e,t,n,r,b):0;return r&&M&&(z-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(b[t])-nt(e,t,"border",!1,b)-.5)),z&&(p=pe.exec(o))&&"px"!==(p[3]||"px")&&(e.style[t]=o,o=g.css(e,t)),ot(0,o,z)}}}),g.cssHooks.marginLeft=Ye(A.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ue(e,"marginLeft"))||e.getBoundingClientRect().left-ae(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),g.each({margin:"",padding:"",border:"Width"},function(e,t){g.cssHooks[e+t]={expand:function(o){for(var n=0,p={},b="string"==typeof o?o.split(" "):[o];n<4;n++)p[e+be[n]+t]=b[n]||b[n-2]||b[0];return p}},"margin"!==e&&(g.cssHooks[e+t].set=ot)}),g.fn.extend({css:function(e,t){return V(this,function(e,t,o){var n,p,b={},M=0;if(Array.isArray(t)){for(n=je(e),p=t.length;M1)}}),g.Tween=bt,bt.prototype={constructor:bt,init:function(e,t,o,n,p,b){this.elem=e,this.prop=o,this.easing=p||g.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=n,this.unit=b||(g.cssNumber[o]?"":"px")},cur:function(){var e=bt.propHooks[this.prop];return e&&e.get?e.get(this):bt.propHooks._default.get(this)},run:function(e){var t,o=bt.propHooks[this.prop];return this.options.duration?this.pos=t=g.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),o&&o.set?o.set(this):bt.propHooks._default.set(this),this}},bt.prototype.init.prototype=bt.prototype,bt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=g.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){g.fx.step[e.prop]?g.fx.step[e.prop](e):1!==e.elem.nodeType||!g.cssHooks[e.prop]&&null==e.elem.style[Qe(e.prop)]?e.elem[e.prop]=e.now:g.style(e.elem,e.prop,e.now+e.unit)}}},bt.propHooks.scrollTop=bt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},g.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},g.fx=bt.prototype.init,g.fx.step={};var Mt,rt,zt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function at(){rt&&(!1===M.hidden&&o.requestAnimationFrame?o.requestAnimationFrame(at):o.setTimeout(at,g.fx.interval),g.fx.tick())}function ct(){return o.setTimeout(function(){Mt=void 0}),Mt=Date.now()}function st(e,t){var o,n=0,p={height:e};for(t=t?1:0;n<4;n+=2-t)p["margin"+(o=be[n])]=p["padding"+o]=e;return t&&(p.opacity=p.width=e),p}function Ot(e,t,o){for(var n,p=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),b=0,M=p.length;b1)},removeAttr:function(e){return this.each(function(){g.removeAttr(this,e)})}}),g.extend({attr:function(e,t,o){var n,p,b=e.nodeType;if(3!==b&&8!==b&&2!==b)return void 0===e.getAttribute?g.prop(e,t,o):(1===b&&g.isXMLDoc(e)||(p=g.attrHooks[t.toLowerCase()]||(g.expr.match.bool.test(t)?dt:void 0)),void 0!==o?null===o?void g.removeAttr(e,t):p&&"set"in p&&void 0!==(n=p.set(e,o,t))?n:(e.setAttribute(t,o+""),o):p&&"get"in p&&null!==(n=p.get(e,t))?n:null==(n=g.find.attr(e,t))?void 0:n)},attrHooks:{type:{set:function(e,t){if(!A.radioValue&&"radio"===t&&L(e,"input")){var o=e.value;return e.setAttribute("type",t),o&&(e.value=o),t}}}},removeAttr:function(e,t){var o,n=0,p=t&&t.match(H);if(p&&1===e.nodeType)for(;o=p[n++];)e.removeAttribute(o)}}),dt={set:function(e,t,o){return!1===t?g.removeAttr(e,o):e.setAttribute(o,o),o}},g.each(g.expr.match.bool.source.match(/\w+/g),function(e,t){var o=ut[t]||g.find.attr;ut[t]=function(e,t,n){var p,b,M=t.toLowerCase();return n||(b=ut[M],ut[M]=p,p=null!=o(e,t,n)?M:null,ut[M]=b),p}});var At=/^(?:input|select|textarea|button)$/i,ft=/^(?:a|area)$/i;function qt(e){return(e.match(H)||[]).join(" ")}function ht(e){return e.getAttribute&&e.getAttribute("class")||""}function Wt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}g.fn.extend({prop:function(e,t){return V(this,g.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[g.propFix[e]||e]})}}),g.extend({prop:function(e,t,o){var n,p,b=e.nodeType;if(3!==b&&8!==b&&2!==b)return 1===b&&g.isXMLDoc(e)||(t=g.propFix[t]||t,p=g.propHooks[t]),void 0!==o?p&&"set"in p&&void 0!==(n=p.set(e,o,t))?n:e[t]=o:p&&"get"in p&&null!==(n=p.get(e,t))?n:e[t]},propHooks:{tabIndex:{get:function(e){var t=g.find.attr(e,"tabindex");return t?parseInt(t,10):At.test(e.nodeName)||ft.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),A.optSelected||(g.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),g.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){g.propFix[this.toLowerCase()]=this}),g.fn.extend({addClass:function(e){var t,o,n,p,b,M,r,z=0;if(f(e))return this.each(function(t){g(this).addClass(e.call(this,t,ht(this)))});if((t=Wt(e)).length)for(;o=this[z++];)if(p=ht(o),n=1===o.nodeType&&" "+qt(p)+" "){for(M=0;b=t[M++];)n.indexOf(" "+b+" ")<0&&(n+=b+" ");p!==(r=qt(n))&&o.setAttribute("class",r)}return this},removeClass:function(e){var t,o,n,p,b,M,r,z=0;if(f(e))return this.each(function(t){g(this).removeClass(e.call(this,t,ht(this)))});if(!arguments.length)return this.attr("class","");if((t=Wt(e)).length)for(;o=this[z++];)if(p=ht(o),n=1===o.nodeType&&" "+qt(p)+" "){for(M=0;b=t[M++];)for(;n.indexOf(" "+b+" ")>-1;)n=n.replace(" "+b+" "," ");p!==(r=qt(n))&&o.setAttribute("class",r)}return this},toggleClass:function(e,t){var o=typeof e,n="string"===o||Array.isArray(e);return"boolean"==typeof t&&n?t?this.addClass(e):this.removeClass(e):f(e)?this.each(function(o){g(this).toggleClass(e.call(this,o,ht(this),t),t)}):this.each(function(){var t,p,b,M;if(n)for(p=0,b=g(this),M=Wt(e);t=M[p++];)b.hasClass(t)?b.removeClass(t):b.addClass(t);else void 0!==e&&"boolean"!==o||((t=ht(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,o,n=0;for(t=" "+e+" ";o=this[n++];)if(1===o.nodeType&&(" "+qt(ht(o))+" ").indexOf(t)>-1)return!0;return!1}});var mt=/\r/g;g.fn.extend({val:function(e){var t,o,n,p=this[0];return arguments.length?(n=f(e),this.each(function(o){var p;1===this.nodeType&&(null==(p=n?e.call(this,o,g(this).val()):e)?p="":"number"==typeof p?p+="":Array.isArray(p)&&(p=g.map(p,function(e){return null==e?"":e+""})),(t=g.valHooks[this.type]||g.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,p,"value")||(this.value=p))})):p?(t=g.valHooks[p.type]||g.valHooks[p.nodeName.toLowerCase()])&&"get"in t&&void 0!==(o=t.get(p,"value"))?o:"string"==typeof(o=p.value)?o.replace(mt,""):null==o?"":o:void 0}}),g.extend({valHooks:{option:{get:function(e){var t=g.find.attr(e,"value");return null!=t?t:qt(g.text(e))}},select:{get:function(e){var t,o,n,p=e.options,b=e.selectedIndex,M="select-one"===e.type,r=M?null:[],z=M?b+1:p.length;for(n=b<0?z:M?b:0;n-1)&&(o=!0);return o||(e.selectedIndex=-1),b}}}}),g.each(["radio","checkbox"],function(){g.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=g.inArray(g(e).val(),t)>-1}},A.checkOn||(g.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),A.focusin="onfocusin"in o;var gt=/^(?:focusinfocus|focusoutblur)$/,_t=function(e){e.stopPropagation()};g.extend(g.event,{trigger:function(e,t,n,p){var b,r,z,i,a,c,s,O,d=[n||M],u=l.call(e,"type")?e.type:e,A=l.call(e,"namespace")?e.namespace.split("."):[];if(r=O=z=n=n||M,3!==n.nodeType&&8!==n.nodeType&&!gt.test(u+g.event.triggered)&&(u.indexOf(".")>-1&&(A=u.split("."),u=A.shift(),A.sort()),a=u.indexOf(":")<0&&"on"+u,(e=e[g.expando]?e:new g.Event(u,"object"==typeof e&&e)).isTrigger=p?2:3,e.namespace=A.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+A.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:g.makeArray(t,[e]),s=g.event.special[u]||{},p||!s.trigger||!1!==s.trigger.apply(n,t))){if(!p&&!s.noBubble&&!q(n)){for(i=s.delegateType||u,gt.test(i+u)||(r=r.parentNode);r;r=r.parentNode)d.push(r),z=r;z===(n.ownerDocument||M)&&d.push(z.defaultView||z.parentWindow||o)}for(b=0;(r=d[b++])&&!e.isPropagationStopped();)O=r,e.type=b>1?i:s.bindType||u,(c=(J.get(r,"events")||{})[e.type]&&J.get(r,"handle"))&&c.apply(r,t),(c=a&&r[a])&&c.apply&&K(r)&&(e.result=c.apply(r,t),!1===e.result&&e.preventDefault());return e.type=u,p||e.isDefaultPrevented()||s._default&&!1!==s._default.apply(d.pop(),t)||!K(n)||a&&f(n[u])&&!q(n)&&((z=n[a])&&(n[a]=null),g.event.triggered=u,e.isPropagationStopped()&&O.addEventListener(u,_t),n[u](),e.isPropagationStopped()&&O.removeEventListener(u,_t),g.event.triggered=void 0,z&&(n[a]=z)),e.result}},simulate:function(e,t,o){var n=g.extend(new g.Event,o,{type:e,isSimulated:!0});g.event.trigger(n,null,t)}}),g.fn.extend({trigger:function(e,t){return this.each(function(){g.event.trigger(e,t,this)})},triggerHandler:function(e,t){var o=this[0];if(o)return g.event.trigger(e,t,o,!0)}}),A.focusin||g.each({focus:"focusin",blur:"focusout"},function(e,t){var o=function(e){g.event.simulate(t,e.target,g.event.fix(e))};g.event.special[t]={setup:function(){var n=this.ownerDocument||this,p=J.access(n,t);p||n.addEventListener(e,o,!0),J.access(n,t,(p||0)+1)},teardown:function(){var n=this.ownerDocument||this,p=J.access(n,t)-1;p?J.access(n,t,p):(n.removeEventListener(e,o,!0),J.remove(n,t))}}});var vt=o.location,yt=Date.now(),Rt=/\?/;g.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new o.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||g.error("Invalid XML: "+e),t};var Bt=/\[\]$/,Xt=/\r?\n/g,Lt=/^(?:submit|button|image|reset|file)$/i,wt=/^(?:input|select|textarea|keygen)/i;function Nt(e,t,o,n){var p;if(Array.isArray(t))g.each(t,function(t,p){o||Bt.test(e)?n(e,p):Nt(e+"["+("object"==typeof p&&null!=p?t:"")+"]",p,o,n)});else if(o||"object"!==m(t))n(e,t);else for(p in t)Nt(e+"["+p+"]",t[p],o,n)}g.param=function(e,t){var o,n=[],p=function(e,t){var o=f(t)?t():t;n[n.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==o?"":o)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!g.isPlainObject(e))g.each(e,function(){p(this.name,this.value)});else for(o in e)Nt(o,e[o],t,p);return n.join("&")},g.fn.extend({serialize:function(){return g.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=g.prop(this,"elements");return e?g.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!g(this).is(":disabled")&&wt.test(this.nodeName)&&!Lt.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var o=g(this).val();return null==o?null:Array.isArray(o)?g.map(o,function(e){return{name:t.name,value:e.replace(Xt,"\r\n")}}):{name:t.name,value:o.replace(Xt,"\r\n")}}).get()}});var Tt=/%20/g,xt=/#.*$/,St=/([?&])_=[^&]*/,kt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ct=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ft={},Dt={},Et="*/".concat("*"),Pt=M.createElement("a");function It(e){return function(t,o){"string"!=typeof t&&(o=t,t="*");var n,p=0,b=t.toLowerCase().match(H)||[];if(f(o))for(;n=b[p++];)"+"===n[0]?(n=n.slice(1)||"*",(e[n]=e[n]||[]).unshift(o)):(e[n]=e[n]||[]).push(o)}}function jt(e,t,o,n){var p={},b=e===Dt;function M(r){var z;return p[r]=!0,g.each(e[r]||[],function(e,r){var i=r(t,o,n);return"string"!=typeof i||b||p[i]?b?!(z=i):void 0:(t.dataTypes.unshift(i),M(i),!1)}),z}return M(t.dataTypes[0])||!p["*"]&&M("*")}function Vt(e,t){var o,n,p=g.ajaxSettings.flatOptions||{};for(o in t)void 0!==t[o]&&((p[o]?e:n||(n={}))[o]=t[o]);return n&&g.extend(!0,e,n),e}Pt.href=vt.href,g.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:vt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(vt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Et,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":g.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Vt(Vt(e,g.ajaxSettings),t):Vt(g.ajaxSettings,e)},ajaxPrefilter:It(Ft),ajaxTransport:It(Dt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,p,b,r,z,i,a,c,s,O,l=g.ajaxSetup({},t),d=l.context||l,u=l.context&&(d.nodeType||d.jquery)?g(d):g.event,A=g.Deferred(),f=g.Callbacks("once memory"),q=l.statusCode||{},h={},W={},m="canceled",_={readyState:0,getResponseHeader:function(e){var t;if(a){if(!r)for(r={};t=kt.exec(b);)r[t[1].toLowerCase()+" "]=(r[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=r[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return a?b:null},setRequestHeader:function(e,t){return null==a&&(e=W[e.toLowerCase()]=W[e.toLowerCase()]||e,h[e]=t),this},overrideMimeType:function(e){return null==a&&(l.mimeType=e),this},statusCode:function(e){var t;if(e)if(a)_.always(e[_.status]);else for(t in e)q[t]=[q[t],e[t]];return this},abort:function(e){var t=e||m;return n&&n.abort(t),v(0,t),this}};if(A.promise(_),l.url=((e||l.url||vt.href)+"").replace(Ht,vt.protocol+"//"),l.type=t.method||t.type||l.method||l.type,l.dataTypes=(l.dataType||"*").toLowerCase().match(H)||[""],null==l.crossDomain){i=M.createElement("a");try{i.href=l.url,i.href=i.href,l.crossDomain=Pt.protocol+"//"+Pt.host!=i.protocol+"//"+i.host}catch(e){l.crossDomain=!0}}if(l.data&&l.processData&&"string"!=typeof l.data&&(l.data=g.param(l.data,l.traditional)),jt(Ft,l,t,_),a)return _;for(s in(c=g.event&&l.global)&&0==g.active++&&g.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Ct.test(l.type),p=l.url.replace(xt,""),l.hasContent?l.data&&l.processData&&0===(l.contentType||"").indexOf("application/x-www-form-urlencoded")&&(l.data=l.data.replace(Tt,"+")):(O=l.url.slice(p.length),l.data&&(l.processData||"string"==typeof l.data)&&(p+=(Rt.test(p)?"&":"?")+l.data,delete l.data),!1===l.cache&&(p=p.replace(St,"$1"),O=(Rt.test(p)?"&":"?")+"_="+yt+++O),l.url=p+O),l.ifModified&&(g.lastModified[p]&&_.setRequestHeader("If-Modified-Since",g.lastModified[p]),g.etag[p]&&_.setRequestHeader("If-None-Match",g.etag[p])),(l.data&&l.hasContent&&!1!==l.contentType||t.contentType)&&_.setRequestHeader("Content-Type",l.contentType),_.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Et+"; q=0.01":""):l.accepts["*"]),l.headers)_.setRequestHeader(s,l.headers[s]);if(l.beforeSend&&(!1===l.beforeSend.call(d,_,l)||a))return _.abort();if(m="abort",f.add(l.complete),_.done(l.success),_.fail(l.error),n=jt(Dt,l,t,_)){if(_.readyState=1,c&&u.trigger("ajaxSend",[_,l]),a)return _;l.async&&l.timeout>0&&(z=o.setTimeout(function(){_.abort("timeout")},l.timeout));try{a=!1,n.send(h,v)}catch(e){if(a)throw e;v(-1,e)}}else v(-1,"No Transport");function v(e,t,M,r){var i,s,O,h,W,m=t;a||(a=!0,z&&o.clearTimeout(z),n=void 0,b=r||"",_.readyState=e>0?4:0,i=e>=200&&e<300||304===e,M&&(h=function(e,t,o){for(var n,p,b,M,r=e.contents,z=e.dataTypes;"*"===z[0];)z.shift(),void 0===n&&(n=e.mimeType||t.getResponseHeader("Content-Type"));if(n)for(p in r)if(r[p]&&r[p].test(n)){z.unshift(p);break}if(z[0]in o)b=z[0];else{for(p in o){if(!z[0]||e.converters[p+" "+z[0]]){b=p;break}M||(M=p)}b=b||M}if(b)return b!==z[0]&&z.unshift(b),o[b]}(l,_,M)),h=function(e,t,o,n){var p,b,M,r,z,i={},a=e.dataTypes.slice();if(a[1])for(M in e.converters)i[M.toLowerCase()]=e.converters[M];for(b=a.shift();b;)if(e.responseFields[b]&&(o[e.responseFields[b]]=t),!z&&n&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),z=b,b=a.shift())if("*"===b)b=z;else if("*"!==z&&z!==b){if(!(M=i[z+" "+b]||i["* "+b]))for(p in i)if((r=p.split(" "))[1]===b&&(M=i[z+" "+r[0]]||i["* "+r[0]])){!0===M?M=i[p]:!0!==i[p]&&(b=r[0],a.unshift(r[1]));break}if(!0!==M)if(M&&e.throws)t=M(t);else try{t=M(t)}catch(e){return{state:"parsererror",error:M?e:"No conversion from "+z+" to "+b}}}return{state:"success",data:t}}(l,h,_,i),i?(l.ifModified&&((W=_.getResponseHeader("Last-Modified"))&&(g.lastModified[p]=W),(W=_.getResponseHeader("etag"))&&(g.etag[p]=W)),204===e||"HEAD"===l.type?m="nocontent":304===e?m="notmodified":(m=h.state,s=h.data,i=!(O=h.error))):(O=m,!e&&m||(m="error",e<0&&(e=0))),_.status=e,_.statusText=(t||m)+"",i?A.resolveWith(d,[s,m,_]):A.rejectWith(d,[_,m,O]),_.statusCode(q),q=void 0,c&&u.trigger(i?"ajaxSuccess":"ajaxError",[_,l,i?s:O]),f.fireWith(d,[_,m]),c&&(u.trigger("ajaxComplete",[_,l]),--g.active||g.event.trigger("ajaxStop")))}return _},getJSON:function(e,t,o){return g.get(e,t,o,"json")},getScript:function(e,t){return g.get(e,void 0,t,"script")}}),g.each(["get","post"],function(e,t){g[t]=function(e,o,n,p){return f(o)&&(p=p||n,n=o,o=void 0),g.ajax(g.extend({url:e,type:t,dataType:p,data:o,success:n},g.isPlainObject(e)&&e))}}),g._evalUrl=function(e,t){return g.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){g.globalEval(e,t)}})},g.fn.extend({wrapAll:function(e){var t;return this[0]&&(f(e)&&(e=e.call(this[0])),t=g(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return f(e)?this.each(function(t){g(this).wrapInner(e.call(this,t))}):this.each(function(){var t=g(this),o=t.contents();o.length?o.wrapAll(e):t.append(e)})},wrap:function(e){var t=f(e);return this.each(function(o){g(this).wrapAll(t?e.call(this,o):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){g(this).replaceWith(this.childNodes)}),this}}),g.expr.pseudos.hidden=function(e){return!g.expr.pseudos.visible(e)},g.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},g.ajaxSettings.xhr=function(){try{return new o.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Yt=g.ajaxSettings.xhr();A.cors=!!Yt&&"withCredentials"in Yt,A.ajax=Yt=!!Yt,g.ajaxTransport(function(e){var t,n;if(A.cors||Yt&&!e.crossDomain)return{send:function(p,b){var M,r=e.xhr();if(r.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(M in e.xhrFields)r[M]=e.xhrFields[M];for(M in e.mimeType&&r.overrideMimeType&&r.overrideMimeType(e.mimeType),e.crossDomain||p["X-Requested-With"]||(p["X-Requested-With"]="XMLHttpRequest"),p)r.setRequestHeader(M,p[M]);t=function(e){return function(){t&&(t=n=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?b(0,"error"):b(r.status,r.statusText):b(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=t(),n=r.onerror=r.ontimeout=t("error"),void 0!==r.onabort?r.onabort=n:r.onreadystatechange=function(){4===r.readyState&&o.setTimeout(function(){t&&n()})},t=t("abort");try{r.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),g.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),g.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return g.globalEval(e),e}}}),g.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),g.ajaxTransport("script",function(e){var t,o;if(e.crossDomain||e.scriptAttrs)return{send:function(n,p){t=g("