diff --git a/app/Http/Middleware/ConnectPage.php b/app/Http/Middleware/ConnectPage.php index 41c3056c0..18e7413bd 100644 --- a/app/Http/Middleware/ConnectPage.php +++ b/app/Http/Middleware/ConnectPage.php @@ -5,6 +5,7 @@ use Closure; use Illuminate\Routing\Router; +use Illuminate\Support\Collection; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Facades\View; @@ -15,6 +16,7 @@ use App\Models\Common\PageRole; use App\Models\Common\Permalink; use App\Models\Migration\MigrationMapping; +use App\Enums\AreaType; class ConnectPage { @@ -57,14 +59,7 @@ public function handle($request, Closure $next) } // ページの特定 - $route_page_id = $request->route('page_id'); - if (!empty($route_page_id)) { - // ページID が渡ってきた場合 - $this->page = Page::where('id', $route_page_id)->first(); - } else { - // ページID が渡されなかった場合、URL から取得 - $this->page = $this->getCurrentPage(); - } + $this->page = $this->resolveRequestPage($request); // 下層ページへ自動転送 if ($this->page && $this->page->transfer_lower_page_flag) { @@ -205,6 +200,66 @@ private function getCurrentPage() return $page; } + /** + * リクエストから現在ページを特定する。 + */ + private function resolveRequestPage($request) + { + $route_page_id = $request->route('page_id'); + if ($this->isValidPageId($route_page_id)) { + return Page::where('id', (int)$route_page_id)->first(); + } + + $upload_page_id = $this->getUploadFallbackPageId($request); + if (!is_null($upload_page_id)) { + return Page::where('id', $upload_page_id)->first(); + } + + return $this->getCurrentPage(); + } + + /** + * /upload/{method?} 限定で body の page_id を補完する。 + */ + private function getUploadFallbackPageId($request): ?int + { + if (!$this->isUploadPostRoute($request)) { + return null; + } + + $page_id = $request->input('page_id'); + if (!$this->isValidPageId($page_id)) { + return null; + } + + return (int)$page_id; + } + + /** + * body の page_id fallback を許可する upload POST か判定する。 + */ + private function isUploadPostRoute($request): bool + { + if (!$request->isMethod('post')) { + return false; + } + + $route = $request->route(); + return !is_null($route) && $route->getName() === 'post_upload'; + } + + /** + * page_id として扱える正の整数か判定する。 + */ + private function isValidPageId($page_id): bool + { + if (filter_var($page_id, FILTER_VALIDATE_INT) === false) { + return false; + } + + return (int)$page_id > 0; + } + /** * 404 判定 * (ConnectController から移動してきた) @@ -392,7 +447,7 @@ private function checkPageForbidden($request, $page_tree, $router) } // page_id と frame_id の組み合わせが不整合なら、不正アクセスとして 403 扱いにする。 - if (!$this->isValidPageAndFrame($request)) { + if (!$this->isValidPageAndFrame($request, $page_tree)) { return $this->doForbidden(); } @@ -430,28 +485,282 @@ private function isPageLimitCheckRoute($route_name) /** * page_id と frame_id の整合性判定 */ - private function isValidPageAndFrame($request) + private function isValidPageAndFrame($request, $page_tree) { $route_page_id = $request->route('page_id'); $route_frame_id = $request->route('frame_id'); - // frame_id がなければ判定不要 + // frame_id を伴わないルートは、ページとフレームの組み合わせ判定自体が不要。 if (empty($route_frame_id)) { return true; } - // frame_id があるのに page_id がない場合は不正 + // frame_id があるのに page_id がない組み合わせは、対象ページを特定できないので不正扱い。 if (empty($route_page_id)) { return false; } - // frameはhandle()で事前に取得済み + // frame は handle() で先に読み込んでいる前提。取得できない frame_id は不正扱い。 $frame = $request->attributes->get('frame'); if (empty($frame)) { return false; } - return ((int)$frame->page_id === (int)$route_page_id); + // メインエリアは継承しないため、配置ページと現在ページが完全一致する場合だけ許可する。 + if ((int)$frame->area_id === AreaType::main) { + return ((int)$frame->page_id === (int)$route_page_id); + } + + // 共通エリアでも、配置ページ本人からの操作は従来通り許可する。 + if ((int)$frame->page_id === (int)$route_page_id) { + return true; + } + + // 共通エリアは「現在ページの祖先ツリー上で実際に採用されるフレームか」を判定する。 + // そのため、現在ページと祖先ツリーが解決できない場合は許可できない。 + if (empty($page_tree) || empty($this->page) || empty($this->page->id)) { + return false; + } + // この画面で実際に適用される共通エリアフレーム群を取得する。 + $effective_frames = $this->getEffectiveCommonAreaFrames($page_tree, (int)$frame->area_id); + // 要求された frame_id が、この画面で実際に適用されるフレーム群に含まれている場合だけ許可する。 + return $effective_frames->contains(function ($effective_frame) use ($frame) { + return (int)($effective_frame->frame_id ?? $effective_frame->id) === (int)$frame->id; + }); + } + + /** + * 現ページで実際に採用される共通エリアフレームを取得する。 + */ + private function getEffectiveCommonAreaFrames($page_tree, int $area_id): Collection + { + if (empty($this->page) || empty($this->page->id)) { + return collect(); + } + + $normalized_page_tree = $this->normalizePageTreeForCommonArea($page_tree); + if ($normalized_page_tree->isEmpty()) { + return collect(); + } + + if (!$this->isCommonAreaVisibleOnCurrentPage($normalized_page_tree, $area_id)) { + return collect(); + } + + $page_ids = $normalized_page_tree->pluck('id')->filter()->all(); + if (empty($page_ids)) { + return collect(); + } + + $effective_page_id = null; + $effective_frames = collect(); + foreach ($this->queryCommonAreaFrames($page_ids, $area_id) as $frame) { + if (is_null($effective_page_id)) { + $effective_page_id = (int)$frame->page_id; + } + + if ((int)$frame->page_id !== $effective_page_id) { + break; + } + + $effective_frames->push($frame); + } + + return $effective_frames; + } + + /** + * 共通エリア判定用にページツリーを正規化する。 + */ + private function normalizePageTreeForCommonArea($page_tree): Collection + { + if (empty($page_tree)) { + return collect(); + } + + // 元の page_tree は壊さず、共通エリア判定用の並びを別コレクションで組み直す。 + $normalized_page_tree = collect($page_tree->all()); + $top_page = Page::getTopPage(); + $language_top_page = $this->getLanguageTopPage(); + + // root 系ページは末尾へ正しい順序で付け直すため、いったん除外対象として集める。 + $excluded_page_ids = collect([ + $top_page->id ?? null, + $language_top_page->id ?? null, + ])->filter()->map(function ($page_id) { + return (int)$page_id; + })->all(); + + // 通常の祖先チェーンだけを残し、root 系ページはこの後に付け直す。 + $normalized_page_tree = $normalized_page_tree->filter(function ($tree_page) use ($excluded_page_ids) { + return !empty($tree_page) + && !empty($tree_page->id) + && !in_array((int)$tree_page->id, $excluded_page_ids, true); + })->values(); + + // 表示側の解決順に合わせて、言語トップ -> 全体トップの順で末尾に戻す。 + if (!empty($language_top_page) && !empty($language_top_page->id)) { + $normalized_page_tree->push($language_top_page); + } + + if (!empty($top_page) && !empty($top_page->id)) { + if (empty($language_top_page) || (int)$language_top_page->id !== (int)$top_page->id) { + $normalized_page_tree->push($top_page); + } + } + + return $normalized_page_tree; + } + + /** + * 現在ページで共通エリアが描画対象か判定する。 + */ + private function isCommonAreaVisibleOnCurrentPage(Collection $page_tree, int $area_id): bool + { + $layout_array = $this->getLayoutArrayForCommonArea($page_tree); + + if ($area_id === AreaType::header) { + return $layout_array[0] == '1'; + } + if ($area_id === AreaType::left) { + return $layout_array[1] == '1'; + } + if ($area_id === AreaType::right) { + return $layout_array[2] == '1'; + } + if ($area_id === AreaType::footer) { + return $layout_array[3] == '1'; + } + + return false; + } + + /** + * 共通エリア判定用のレイアウト配列を取得する。 + */ + private function getLayoutArrayForCommonArea(Collection $page_tree): array + { + $layout_array = explode('|', $this->getLayoutForCommonArea($page_tree)); + if (count($layout_array) !== 4) { + return [1, 1, 1, 1]; + } + + return $layout_array; + } + + /** + * 共通エリア判定用のレイアウトを取得する。 + */ + private function getLayoutForCommonArea(Collection $page_tree): string + { + $layout_default = config('connect.BASE_LAYOUT_DEFAULT'); + if (empty($this->page)) { + return $layout_default; + } + + $layout = null; + foreach ($page_tree as $tree_page) { + if (empty($tree_page) || empty($tree_page->layout)) { + continue; + } + + if ($tree_page->id != $this->page->id + && !is_null($tree_page->layout_inherit_flag) + && (int)$tree_page->layout_inherit_flag === 0) { + continue; + } + + $layout = $tree_page->layout; + break; + } + + if (empty($layout)) { + $layout = Configs::getSharedConfigsValue('base_layout', $layout_default); + } + if (empty($layout)) { + $layout = $layout_default; + } + + return $layout; + } + + /** + * 共通エリアの継承候補フレームを取得する。 + */ + private function queryCommonAreaFrames(array $page_ids, int $area_id): Collection + { + return Frame::whereIn('frames.page_id', $page_ids) + ->where('frames.area_id', $area_id) + ->select('frames.*', 'frames.id as frame_id', 'pages.id as page_id') + ->join('pages', 'pages.id', '=', 'frames.page_id') + ->where(function ($query) { + $query->where('page_only', 0) + ->orWhere(function ($query2) { + $query2->where('page_only', 1) + ->where('page_id', $this->page->id); + }) + ->orWhere('page_only', 2); + }) + ->orderBy('pages._lft', 'desc') + ->orderBy('frames.display_sequence', 'asc') + ->get(); + } + + /** + * 多言語トップページを取得する。 + */ + private function getLanguageTopPage(): ?Page + { + if (empty($this->page) || empty($this->page->permanent_link) || !$this->isLanguageMultiOn()) { + return null; + } + + $languages = Configs::getLanguages(); + if (empty($languages)) { + return null; + } + + $page_language = $this->getPageLanguageFromPage($languages); + if (empty($page_language)) { + return null; + } + + return Page::where('permanent_link', '/' . $page_language)->first(); + } + + /** + * ページオブジェクトから言語を取得する。 + */ + private function getPageLanguageFromPage($languages) + { + $page_language = null; + $page_paths = explode('/', $this->page->permanent_link); + if ($page_paths && is_array($page_paths) && array_key_exists(1, $page_paths)) { + foreach ($languages as $language) { + if (trim($language->additional1, '/') == $page_paths[1]) { + $page_language = $page_paths[1]; + break; + } + } + } + + return $page_language; + } + + /** + * 多言語設定が有効か判定する。 + */ + private function isLanguageMultiOn(): bool + { + foreach (Configs::getSharedConfigs() as $config) { + if ($config->name !== 'language_multi_on') { + continue; + } + + return $config->value == '1'; + } + + return false; } /** diff --git a/app/Models/Common/Categories.php b/app/Models/Common/Categories.php index b57aecedd..02afb24eb 100644 --- a/app/Models/Common/Categories.php +++ b/app/Models/Common/Categories.php @@ -171,7 +171,7 @@ public static function validatePluginCategories(Request $request): \Illuminate\V if (!empty($request->general_categories_id)) { foreach ($request->general_categories_id as $category_id) { $field_name = 'general_display_sequence.' . $category_id; - $rules[$field_name] = ['required']; + $rules[$field_name] = ['required', 'numeric']; $set_attribute_names[$field_name] = '表示順'; } } @@ -202,7 +202,7 @@ private static function addValidationRulesForAddFields(Request $request, array & return; } - $rules['add_display_sequence'] = ['required']; + $rules['add_display_sequence'] = ['required', 'numeric']; $rules['add_classname'] = ['required', new CustomValiUniqueClassname()]; $rules['add_category'] = ['required']; $rules['add_color'] = ['required']; @@ -227,7 +227,7 @@ private static function addValidationRulesForAddFields(Request $request, array & private static function addValidationRulesForExistingFields(array $category_ids, string $field_prefix, array &$rules, array &$set_attribute_names): void { foreach ($category_ids as $category_id) { - $rules[$field_prefix . 'display_sequence.' . $category_id] = ['required']; + $rules[$field_prefix . 'display_sequence.' . $category_id] = ['required', 'numeric']; $rules[$field_prefix . 'classname.' . $category_id] = ['required', new CustomValiUniqueClassname($category_id)]; $rules[$field_prefix . 'category.' . $category_id] = ['required']; $rules[$field_prefix . 'color.' . $category_id] = ['required']; diff --git a/app/Models/Common/Page.php b/app/Models/Common/Page.php index 548f17567..ce992b3a2 100644 --- a/app/Models/Common/Page.php +++ b/app/Models/Common/Page.php @@ -58,6 +58,14 @@ public function page_roles() // phpcs:ignore return $this->hasMany(PageRole::class); } + /** + * hasMany 設定 + */ + public function frames() + { + return $this->hasMany(Frame::class); + } + /** * 言語設定があれば、特定の言語ページのみに絞る */ diff --git a/app/Models/User/Databases/DatabasesColumns.php b/app/Models/User/Databases/DatabasesColumns.php index a349727db..98afaec85 100644 --- a/app/Models/User/Databases/DatabasesColumns.php +++ b/app/Models/User/Databases/DatabasesColumns.php @@ -60,7 +60,7 @@ public function isNotInputColumnType() /** * ファイルタイプのカラム型か */ - public static function isFileColumnType($column_type) + public static function isFileColumnType($column_type): bool { // ファイルタイプ if ($column_type == DatabaseColumnType::file || @@ -71,10 +71,22 @@ public static function isFileColumnType($column_type) return false; } + /** + * 選択肢タイプのカラム型か + */ + public static function isSelectColumnType($column_type): bool + { + // 選択肢タイプ + if ($column_type == DatabaseColumnType::select || $column_type == DatabaseColumnType::radio || $column_type == DatabaseColumnType::checkbox) { + return true; + } + return false; + } + /** * 埋め込みタグから除外するカラム型か */ - public static function isNotEmbeddedTagsColumnType($column_type) + public static function isNotEmbeddedTagsColumnType($column_type): bool { // 登録日型・更新日型・公開日型・表示順型は入力しない if ($column_type == DatabaseColumnType::created || diff --git a/app/Models/User/Forms/FormsColumns.php b/app/Models/User/Forms/FormsColumns.php index a50f9737d..6728a5e0e 100644 --- a/app/Models/User/Forms/FormsColumns.php +++ b/app/Models/User/Forms/FormsColumns.php @@ -2,6 +2,7 @@ namespace App\Models\User\Forms; +use App\Enums\FormColumnType; use App\UserableNohistory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; @@ -18,10 +19,22 @@ class FormsColumns extends Model /** * ファイルタイプのカラム型か */ - public static function isFileColumnType($column_type) + public static function isFileColumnType($column_type): bool { // ファイルタイプ - if ($column_type == \FormColumnType::file) { + if ($column_type == FormColumnType::file) { + return true; + } + return false; + } + + /** + * 選択肢タイプのカラム型か + */ + public static function isSelectColumnType($column_type): bool + { + // 選択肢タイプ + if ($column_type == FormColumnType::select || $column_type == FormColumnType::radio || $column_type == FormColumnType::checkbox) { return true; } return false; diff --git a/app/Plugins/Manage/LogManage/LogManage.php b/app/Plugins/Manage/LogManage/LogManage.php index ba5ec7733..1f43105e5 100644 --- a/app/Plugins/Manage/LogManage/LogManage.php +++ b/app/Plugins/Manage/LogManage/LogManage.php @@ -66,6 +66,16 @@ private function getQuery($request) $app_logs_query->where('uri', 'like', '%' . $request->session()->get('app_log_search_condition.uri') . '%'); } + // IPアドレス + if ($request->session()->has('app_log_search_condition.ip_address')) { + $app_logs_query->where('ip_address', 'like', '%' . $request->session()->get('app_log_search_condition.ip_address') . '%'); + } + + // 値など + if ($request->session()->has('app_log_search_condition.value')) { + $app_logs_query->where('value', 'like', '%' . $request->session()->get('app_log_search_condition.value') . '%'); + } + // 詳細条件 $app_logs_query->where(function ($query) use ($request) { // ログイン diff --git a/app/Plugins/Manage/SpamManage/SpamManage.php b/app/Plugins/Manage/SpamManage/SpamManage.php index 1a50d42e7..756df466a 100644 --- a/app/Plugins/Manage/SpamManage/SpamManage.php +++ b/app/Plugins/Manage/SpamManage/SpamManage.php @@ -22,7 +22,7 @@ * @category スパム管理 * @package Controller * @plugin_title スパム管理 - * @plugin_desc スパムリストに関する機能が集まった管理機能です。 + * @plugin_desc ブロックリストに関する機能が集まった管理機能です。 */ class SpamManage extends ManagePluginBase { @@ -48,8 +48,8 @@ public function declareRole() * スパムリスト一覧表示 * * @return view - * @method_title スパムリスト一覧 - * @method_desc スパムリストを一覧で確認できます。 + * @method_title ブロックリスト一覧 + * @method_desc ブロックリストを一覧で確認できます。 * @method_detail メールアドレス、ドメイン、IPアドレスを登録してスパムをブロックできます。 */ public function index($request) @@ -149,15 +149,15 @@ public function store($request) ]); // スパムリスト一覧画面に戻る - return redirect("/manage/spam")->with('flash_message', 'スパムリストに追加しました。'); + return redirect("/manage/spam")->with('flash_message', 'ブロックリストに追加しました。'); } /** * スパムリスト編集画面 * * @return view - * @method_title スパムリスト編集 - * @method_desc スパムリストを編集できます。 + * @method_title ブロックリスト編集 + * @method_desc ブロックリストを編集できます。 * @method_detail */ public function edit($request, $id) @@ -232,7 +232,7 @@ public function update($request, $id) $spam->save(); // スパムリスト一覧画面に戻る - return redirect("/manage/spam")->with('flash_message', 'スパムリストを更新しました。'); + return redirect("/manage/spam")->with('flash_message', 'ブロックリストを更新しました。'); } /** @@ -249,7 +249,7 @@ public function destroy($request, $id) SpamList::where('id', $id)->delete(); // スパムリスト一覧画面に戻る - return redirect("/manage/spam")->with('flash_message', 'スパムリストから削除しました。'); + return redirect("/manage/spam")->with('flash_message', 'ブロックリストから削除しました。'); } /** diff --git a/app/Plugins/Manage/UserManage/UserManage.php b/app/Plugins/Manage/UserManage/UserManage.php index b8ef0db1f..0703e8486 100644 --- a/app/Plugins/Manage/UserManage/UserManage.php +++ b/app/Plugins/Manage/UserManage/UserManage.php @@ -964,6 +964,13 @@ public function update($request, $id = null) $update_array['password'] = Hash::make($request->password); } + // 状態が利用不可や仮削除の場合は強制ログアウトする。 + if ((int)$request->status === UserStatus::not_active || (int)$request->status === UserStatus::temporary_delete) { + $update_array['is_force_logout'] = 1; + } else { + $update_array['is_force_logout'] = 0; + } + // ユーザデータの更新 User::where('id', $id)->update($update_array); // 更新後を再取得 diff --git a/app/Plugins/User/Databases/DatabasesPlugin.php b/app/Plugins/User/Databases/DatabasesPlugin.php index 5cc4016fe..ee4b4b1b3 100644 --- a/app/Plugins/User/Databases/DatabasesPlugin.php +++ b/app/Plugins/User/Databases/DatabasesPlugin.php @@ -1426,8 +1426,8 @@ public function publicConfirm($request, $page_id, $frame_id, $id = null) //$request->merge(StringUtils::trimInput($request->all())); foreach ($databases_columns as $databases_column) { - // ファイルタイプ以外の入力値をトリム - if (! DatabasesColumns::isFileColumnType($databases_column->column_type)) { + // ファイルタイプ, 選択肢タイプ以外の入力値をトリム + if (!DatabasesColumns::isFileColumnType($databases_column->column_type) && !DatabasesColumns::isSelectColumnType($databases_column->column_type)) { if (isset($request->databases_columns_value[$databases_column->id])) { // 一度配列にして、trim後、また文字列に戻す。 $tmp_columns_value = StringUtils::trimInput($request->databases_columns_value[$databases_column->id]); diff --git a/app/Plugins/User/Forms/FormsPlugin.php b/app/Plugins/User/Forms/FormsPlugin.php index e08af0482..430a4aa5b 100644 --- a/app/Plugins/User/Forms/FormsPlugin.php +++ b/app/Plugins/User/Forms/FormsPlugin.php @@ -1036,8 +1036,8 @@ public function publicConfirm($request, $page_id, $frame_id, $id = null) // 入力値をトリム // bugfix: 【データベース】(Laravel6テスト)ファイル型項目にファイルをアップするとシステムエラーと同じ対応 https://github.com/opensource-workshop/connect-cms/issues/732 foreach ($forms_columns as $forms_column) { - // ファイルタイプ以外の入力値をトリム - if (! FormsColumns::isFileColumnType($forms_column->column_type)) { + // ファイルタイプ, 選択肢タイプ以外の入力値をトリム + if (!FormsColumns::isFileColumnType($forms_column->column_type) && !FormsColumns::isSelectColumnType($forms_column->column_type)) { if (isset($request->forms_columns_value[$forms_column->id])) { // 一度配列にして、trim後、また文字列に戻す。 $tmp_columns_value = StringUtils::trimInput($request->forms_columns_value[$forms_column->id]); @@ -3648,7 +3648,7 @@ private function checkSpamFilter($request, $form): array * * @method_title スパムフィルタリング * @method_desc スパムフィルタリングの設定ができます。 - * @method_detail スパムリストの管理や、ブロック時のメッセージを設定できます。 + * @method_detail ブロックリストの管理や、ブロック時のメッセージを設定できます。 */ public function editSpamFilter($request, $page_id, $frame_id) { @@ -3742,7 +3742,7 @@ public function addSpamList($request, $page_id, $frame_id, $forms_id) // リダイレクト return redirect("/plugin/forms/editSpamFilter/{$page_id}/{$frame_id}#frame-{$frame_id}") - ->with('flash_message', 'スパムリストに追加しました。'); + ->with('flash_message', 'ブロックリストに追加しました。'); } /** @@ -3760,7 +3760,7 @@ public function deleteSpamList($request, $page_id, $frame_id, $spam_id) // リダイレクト return redirect("/plugin/forms/editSpamFilter/{$page_id}/{$frame_id}#frame-{$frame_id}") - ->with('flash_message', 'スパムリストから削除しました。'); + ->with('flash_message', 'ブロックリストから削除しました。'); } /** @@ -3894,7 +3894,7 @@ public function addToSpamListFromInput($request, $page_id, $frame_id, $inputs_id // メッセージの組み立て $messages = []; if ($added_count > 0) { - $messages[] = "{$added_count}件をスパムリストに追加しました。"; + $messages[] = "{$added_count}件をブロックリストに追加しました。"; } if ($skipped_duplicate_count > 0) { $messages[] = "{$skipped_duplicate_count}件は既に登録済みのためスキップしました。"; @@ -3903,7 +3903,7 @@ public function addToSpamListFromInput($request, $page_id, $frame_id, $inputs_id $messages[] = "{$skipped_no_data_count}件は該当データがないためスキップしました。"; } if (empty($messages)) { - $messages[] = 'スパムリストへの追加はありませんでした。'; + $messages[] = 'ブロックリストへの追加はありませんでした。'; } // リダイレクト diff --git a/composer.lock b/composer.lock index 07c106ed1..895c52254 100644 --- a/composer.lock +++ b/composer.lock @@ -2389,16 +2389,16 @@ }, { "name": "league/commonmark", - "version": "2.7.0", + "version": "2.8.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405" + "reference": "59fb075d2101740c337c7216e3f32b36c204218b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", - "reference": "6fbb36d44824ed4091adbcf4c7d4a3923cdb3405", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/59fb075d2101740c337c7216e3f32b36c204218b", + "reference": "59fb075d2101740c337c7216e3f32b36c204218b", "shasum": "" }, "require": { @@ -2423,11 +2423,11 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 | ^7.0", - "symfony/process": "^5.4 | ^6.0 | ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0 || ^8.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0 || ^8.0", "unleashedtech/php-coding-standard": "^3.1.1", - "vimeo/psalm": "^4.24.0 || ^5.0.0" + "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" }, "suggest": { "symfony/yaml": "v2.3+ required if using the Front Matter extension" @@ -2435,7 +2435,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.8-dev" + "dev-main": "2.9-dev" } }, "autoload": { @@ -2492,7 +2492,7 @@ "type": "tidelift" } ], - "time": "2025-05-05T12:20:28+00:00" + "time": "2026-03-19T13:16:38+00:00" }, { "name": "league/config", diff --git a/config/version.php b/config/version.php index d9ff06d34..e9d32fd73 100644 --- a/config/version.php +++ b/config/version.php @@ -12,8 +12,7 @@ | */ - 'cc_version' => '2.41.1', - + 'cc_version' => '2.42.0', 'show_cc_version' => true, ]; diff --git a/database/migrations/2026_03_25_000000_fix_mariadb_fulltext_index_on_databases_inputs.php b/database/migrations/2026_03_25_000000_fix_mariadb_fulltext_index_on_databases_inputs.php new file mode 100644 index 000000000..5ccd5d051 --- /dev/null +++ b/database/migrations/2026_03_25_000000_fix_mariadb_fulltext_index_on_databases_inputs.php @@ -0,0 +1,67 @@ +version; + + // MariaDB以外はスキップ(MySQL環境では元のマイグレーションが正常動作しているため) + if (strpos($version, 'Maria') === false) { + return; + } + + // FULLTEXTインデックスが既に存在する場合はスキップ + $indexes = DB::select(" + SHOW INDEX FROM databases_inputs + WHERE Key_name = 'ft_idx_databases_inputs_full_text' + "); + if (!empty($indexes)) { + return; + } + + // バージョン文字列から数字部分のみ抽出("-log"等のサフィックスを除外するため preg_match を使用) + if (!preg_match('/^(\d+)\.(\d+)\.(\d+)/', $version, $matches)) { + // パース失敗は異常ケースのためログに記録 + Log::warning('FixMariadbFulltextIndexOnDatabasesInputs: MariaDBバージョン文字列のパース失敗。', [ + 'version' => $version, + ]); + return; + } + + $major = (int) $matches[1]; + $minor = (int) $matches[2]; + + // MariaDBは5.6以上でFULLTEXT対応(NGRAMは使えないためパーサー指定なし) + if ($major > 5 || ($major === 5 && $minor >= 6)) { + DB::statement('ALTER TABLE databases_inputs ADD FULLTEXT INDEX ft_idx_databases_inputs_full_text (full_text);'); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // インデックスが存在する場合のみ削除 + $indexes = DB::select(" + SHOW INDEX FROM databases_inputs + WHERE Key_name = 'ft_idx_databases_inputs_full_text' + "); + if (!empty($indexes)) { + DB::statement('ALTER TABLE databases_inputs DROP INDEX ft_idx_databases_inputs_full_text;'); + } + } +} diff --git a/package-lock.json b/package-lock.json index 6c52474ee..827759379 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2431,16 +2431,6 @@ "url": "https://opencollective.com/popperjs" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/@types/babel__core": { "version": "7.20.5", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", @@ -3265,9 +3255,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", "dev": true, "license": "MIT", "dependencies": { @@ -3300,9 +3290,9 @@ } }, "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -3473,9 +3463,9 @@ } }, "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -3596,15 +3586,15 @@ "optional": true }, "node_modules/axios": { - "version": "1.13.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", - "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.14.0.tgz", + "integrity": "sha512-3Y8yrqLSwjuzpXuZ0oIYZ/XGgLwUIBU3uLvbcpb0pidD9ctpShJd43KSlEEkVQg6DS0G9NKyzOvBfUtDKEyHvQ==", "dev": true, "license": "MIT", "dependencies": { "follow-redirects": "^1.15.11", "form-data": "^4.0.5", - "proxy-from-env": "^1.1.0" + "proxy-from-env": "^2.1.0" } }, "node_modules/babel-loader": { @@ -3758,9 +3748,9 @@ } }, "node_modules/bn.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", - "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", + "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", "dev": true, "license": "MIT" }, @@ -3877,9 +3867,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", + "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", "dev": true, "license": "MIT", "dependencies": { @@ -4661,9 +4651,9 @@ } }, "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -5227,9 +5217,9 @@ } }, "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -5467,9 +5457,9 @@ } }, "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -7069,9 +7059,9 @@ } }, "node_modules/immutable": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.1.tgz", - "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", + "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", "dev": true, "license": "MIT" }, @@ -8009,9 +7999,9 @@ } }, "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -8339,9 +8329,9 @@ } }, "node_modules/node-forge": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", - "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", + "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", "dev": true, "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { @@ -8867,9 +8857,9 @@ "license": "MIT" }, "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "dev": true, "license": "MIT" }, @@ -8916,9 +8906,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -9658,11 +9648,14 @@ } }, "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=10" + } }, "node_modules/psl": { "version": "1.15.0", @@ -9703,9 +9696,9 @@ } }, "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", - "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==", "dev": true, "license": "MIT" }, @@ -10450,6 +10443,16 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/sax": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", + "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, "node_modules/saxes": { "version": "3.1.11", "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", @@ -10568,16 +10571,6 @@ "node": ">= 0.8" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -11251,18 +11244,18 @@ } }, "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.2.tgz", + "integrity": "sha512-TyzE4NVGLUFy+H/Uy4N6c3G0HEeprsVfge6Lmq+0FdQQ/zqoVYB62IsBZORsiL+o96s6ff/V6/3UQo/C0cgCAA==", "dev": true, "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^4.1.3", "css-tree": "^1.1.3", "csso": "^4.2.0", "picocolors": "^1.0.0", + "sax": "^1.5.0", "stable": "^0.1.8" }, "bin": { @@ -11338,16 +11331,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", - "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.4.0.tgz", + "integrity": "sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "jest-worker": "^27.4.5", "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", "terser": "^5.31.1" }, "engines": { @@ -11373,9 +11365,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -12152,9 +12144,9 @@ } }, "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -12269,9 +12261,9 @@ } }, "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -12371,9 +12363,9 @@ } }, "node_modules/webpack/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -12664,9 +12656,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz", + "integrity": "sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==", "dev": true, "license": "ISC", "engines": { diff --git a/public/js/707.js b/public/js/707.js index debea43c4..a022c3153 100644 --- a/public/js/707.js +++ b/public/js/707.js @@ -1 +1 @@ -"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[707],{8707:(e,t,n)=>{function r(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function o(e){return e instanceof r(e).Element||e instanceof Element}function i(e){return e instanceof r(e).HTMLElement||e instanceof HTMLElement}function a(e){return"undefined"!=typeof ShadowRoot&&(e instanceof r(e).ShadowRoot||e instanceof ShadowRoot)}n.d(t,{createPopper:()=>he});var s=Math.max,f=Math.min,c=Math.round;function p(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function u(){return!/^((?!chrome|android).)*safari/i.test(p())}function l(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var a=e.getBoundingClientRect(),s=1,f=1;t&&i(e)&&(s=e.offsetWidth>0&&c(a.width)/e.offsetWidth||1,f=e.offsetHeight>0&&c(a.height)/e.offsetHeight||1);var p=(o(e)?r(e):window).visualViewport,l=!u()&&n,d=(a.left+(l&&p?p.offsetLeft:0))/s,h=(a.top+(l&&p?p.offsetTop:0))/f,m=a.width/s,v=a.height/f;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function d(e){var t=r(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function h(e){return e?(e.nodeName||"").toLowerCase():null}function m(e){return((o(e)?e.ownerDocument:e.document)||window.document).documentElement}function v(e){return l(m(e)).left+d(e).scrollLeft}function g(e){return r(e).getComputedStyle(e)}function y(e){var t=g(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function b(e,t,n){void 0===n&&(n=!1);var o,a,s=i(t),f=i(t)&&function(e){var t=e.getBoundingClientRect(),n=c(t.width)/e.offsetWidth||1,r=c(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),p=m(t),u=l(e,f,n),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(s||!s&&!n)&&(("body"!==h(t)||y(p))&&(g=(o=t)!==r(o)&&i(o)?{scrollLeft:(a=o).scrollLeft,scrollTop:a.scrollTop}:d(o)),i(t)?((b=l(t,!0)).x+=t.clientLeft,b.y+=t.clientTop):p&&(b.x=v(p))),{x:u.left+g.scrollLeft-b.x,y:u.top+g.scrollTop-b.y,width:u.width,height:u.height}}function w(e){var t=l(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function x(e){return"html"===h(e)?e:e.assignedSlot||e.parentNode||(a(e)?e.host:null)||m(e)}function O(e){return["html","body","#document"].indexOf(h(e))>=0?e.ownerDocument.body:i(e)&&y(e)?e:O(x(e))}function j(e,t){var n;void 0===t&&(t=[]);var o=O(e),i=o===(null==(n=e.ownerDocument)?void 0:n.body),a=r(o),s=i?[a].concat(a.visualViewport||[],y(o)?o:[]):o,f=t.concat(s);return i?f:f.concat(j(x(s)))}function E(e){return["table","td","th"].indexOf(h(e))>=0}function D(e){return i(e)&&"fixed"!==g(e).position?e.offsetParent:null}function A(e){for(var t=r(e),n=D(e);n&&E(n)&&"static"===g(n).position;)n=D(n);return n&&("html"===h(n)||"body"===h(n)&&"static"===g(n).position)?t:n||function(e){var t=/firefox/i.test(p());if(/Trident/i.test(p())&&i(e)&&"fixed"===g(e).position)return null;var n=x(e);for(a(n)&&(n=n.host);i(n)&&["html","body"].indexOf(h(n))<0;){var r=g(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var k="top",L="bottom",P="right",W="left",M="auto",B=[k,L,P,W],H="start",R="end",T="viewport",C="popper",S=B.reduce((function(e,t){return e.concat([t+"-"+H,t+"-"+R])}),[]),V=[].concat(B,[M]).reduce((function(e,t){return e.concat([t,t+"-"+H,t+"-"+R])}),[]),q=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function N(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}var I={placement:"bottom",modifiers:[],strategy:"absolute"};function F(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function G(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?_(o):null,a=o?X(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case k:t={x:s,y:n.y-r.height};break;case L:t={x:s,y:n.y+n.height};break;case P:t={x:n.x+n.width,y:f};break;case W:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?Y(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case H:t[c]=t[c]-(n[p]/2-r[p]/2);break;case R:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}var J={top:"auto",right:"auto",bottom:"auto",left:"auto"};function K(e){var t,n=e.popper,o=e.popperRect,i=e.placement,a=e.variation,s=e.offsets,f=e.position,p=e.gpuAcceleration,u=e.adaptive,l=e.roundOffsets,d=e.isFixed,h=s.x,v=void 0===h?0:h,y=s.y,b=void 0===y?0:y,w="function"==typeof l?l({x:v,y:b}):{x:v,y:b};v=w.x,b=w.y;var x=s.hasOwnProperty("x"),O=s.hasOwnProperty("y"),j=W,E=k,D=window;if(u){var M=A(n),B="clientHeight",H="clientWidth";if(M===r(n)&&"static"!==g(M=m(n)).position&&"absolute"===f&&(B="scrollHeight",H="scrollWidth"),i===k||(i===W||i===P)&&a===R)E=L,b-=(d&&M===D&&D.visualViewport?D.visualViewport.height:M[B])-o.height,b*=p?1:-1;if(i===W||(i===k||i===L)&&a===R)j=P,v-=(d&&M===D&&D.visualViewport?D.visualViewport.width:M[H])-o.width,v*=p?1:-1}var T,C=Object.assign({position:f},u&&J),S=!0===l?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:c(n*o)/o||0,y:c(r*o)/o||0}}({x:v,y:b},r(n)):{x:v,y:b};return v=S.x,b=S.y,p?Object.assign({},C,((T={})[E]=O?"0":"",T[j]=x?"0":"",T.transform=(D.devicePixelRatio||1)<=1?"translate("+v+"px, "+b+"px)":"translate3d("+v+"px, "+b+"px, 0)",T)):Object.assign({},C,((t={})[E]=O?b+"px":"",t[j]=x?v+"px":"",t.transform="",t))}const Q={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=V.reduce((function(e,n){return e[n]=function(e,t,n){var r=_(e),o=[W,k].indexOf(r)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[W,P].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}};var Z={left:"right",right:"left",bottom:"top",top:"bottom"};function $(e){return e.replace(/left|right|bottom|top/g,(function(e){return Z[e]}))}var ee={start:"end",end:"start"};function te(e){return e.replace(/start|end/g,(function(e){return ee[e]}))}function ne(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&a(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function re(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oe(e,t,n){return t===T?re(function(e,t){var n=r(e),o=m(e),i=n.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,c=0;if(i){a=i.width,s=i.height;var p=u();(p||!p&&"fixed"===t)&&(f=i.offsetLeft,c=i.offsetTop)}return{width:a,height:s,x:f+v(e),y:c}}(e,n)):o(t)?function(e,t){var n=l(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(t,n):re(function(e){var t,n=m(e),r=d(e),o=null==(t=e.ownerDocument)?void 0:t.body,i=s(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=s(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+v(e),c=-r.scrollTop;return"rtl"===g(o||n).direction&&(f+=s(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:f,y:c}}(m(e)))}function ie(e,t,n,r){var a="clippingParents"===t?function(e){var t=j(x(e)),n=["absolute","fixed"].indexOf(g(e).position)>=0&&i(e)?A(e):e;return o(n)?t.filter((function(e){return o(e)&&ne(e,n)&&"body"!==h(e)})):[]}(e):[].concat(t),c=[].concat(a,[n]),p=c[0],u=c.reduce((function(t,n){var o=oe(e,n,r);return t.top=s(o.top,t.top),t.right=f(o.right,t.right),t.bottom=f(o.bottom,t.bottom),t.left=s(o.left,t.left),t}),oe(e,p,r));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function ae(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function se(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function fe(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=void 0===r?e.placement:r,a=n.strategy,s=void 0===a?e.strategy:a,f=n.boundary,c=void 0===f?"clippingParents":f,p=n.rootBoundary,u=void 0===p?T:p,d=n.elementContext,h=void 0===d?C:d,v=n.altBoundary,g=void 0!==v&&v,y=n.padding,b=void 0===y?0:y,w=ae("number"!=typeof b?b:se(b,B)),x=h===C?"reference":C,O=e.rects.popper,j=e.elements[g?x:h],E=ie(o(j)?j:j.contextElement||m(e.elements.popper),c,u,s),D=l(e.elements.reference),A=G({reference:D,element:O,strategy:"absolute",placement:i}),W=re(Object.assign({},O,A)),M=h===C?W:D,H={top:E.top-M.top+w.top,bottom:M.bottom-E.bottom+w.bottom,left:E.left-M.left+w.left,right:M.right-E.right+w.right},R=e.modifiersData.offset;if(h===C&&R){var S=R[i];Object.keys(H).forEach((function(e){var t=[P,L].indexOf(e)>=0?1:-1,n=[k,L].indexOf(e)>=0?"y":"x";H[e]+=S[n]*t}))}return H}function ce(e,t,n){return s(e,f(t,n))}const pe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=void 0===o||o,a=n.altAxis,c=void 0!==a&&a,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,g=void 0===v?0:v,y=fe(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),b=_(t.placement),x=X(t.placement),O=!x,j=Y(b),E="x"===j?"y":"x",D=t.modifiersData.popperOffsets,M=t.rects.reference,B=t.rects.popper,R="function"==typeof g?g(Object.assign({},t.rects,{placement:t.placement})):g,T="number"==typeof R?{mainAxis:R,altAxis:R}:Object.assign({mainAxis:0,altAxis:0},R),C=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,S={x:0,y:0};if(D){if(i){var V,q="y"===j?k:W,N="y"===j?L:P,I="y"===j?"height":"width",F=D[j],U=F+y[q],z=F-y[N],G=m?-B[I]/2:0,J=x===H?M[I]:B[I],K=x===H?-B[I]:-M[I],Q=t.elements.arrow,Z=m&&Q?w(Q):{width:0,height:0},$=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ee=$[q],te=$[N],ne=ce(0,M[I],Z[I]),re=O?M[I]/2-G-ne-ee-T.mainAxis:J-ne-ee-T.mainAxis,oe=O?-M[I]/2+G+ne+te+T.mainAxis:K+ne+te+T.mainAxis,ie=t.elements.arrow&&A(t.elements.arrow),ae=ie?"y"===j?ie.clientTop||0:ie.clientLeft||0:0,se=null!=(V=null==C?void 0:C[j])?V:0,pe=F+oe-se,ue=ce(m?f(U,F+re-se-ae):U,F,m?s(z,pe):z);D[j]=ue,S[j]=ue-F}if(c){var le,de="x"===j?k:W,he="x"===j?L:P,me=D[E],ve="y"===E?"height":"width",ge=me+y[de],ye=me-y[he],be=-1!==[k,W].indexOf(b),we=null!=(le=null==C?void 0:C[E])?le:0,xe=be?ge:me-M[ve]-B[ve]-we+T.altAxis,Oe=be?me+M[ve]+B[ve]-we-T.altAxis:ye,je=m&&be?function(e,t,n){var r=ce(e,t,n);return r>n?n:r}(xe,me,Oe):ce(m?xe:ge,me,m?Oe:ye);D[E]=je,S[E]=je-me}t.modifiersData[r]=S}},requiresIfExists:["offset"]};const ue={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=_(n.placement),f=Y(s),c=[W,P].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return ae("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:se(e,B))}(o.padding,n),u=w(i),l="y"===f?k:W,d="y"===f?L:P,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=A(i),g=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,y=h/2-m/2,b=p[l],x=g-u[c]-p[d],O=g/2-u[c]/2+y,j=ce(b,O,x),E=f;n.modifiersData[r]=((t={})[E]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&ne(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function le(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function de(e){return[k,P,L,W].some((function(t){return e[t]>=0}))}var he=U({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,o=e.options,i=o.scroll,a=void 0===i||i,s=o.resize,f=void 0===s||s,c=r(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&p.forEach((function(e){e.addEventListener("scroll",n.update,z)})),f&&c.addEventListener("resize",n.update,z),function(){a&&p.forEach((function(e){e.removeEventListener("scroll",n.update,z)})),f&&c.removeEventListener("resize",n.update,z)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=G({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,f=void 0===s||s,c={placement:_(t.placement),variation:X(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,K(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:f})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,K(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&h(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});i(r)&&h(r)&&(Object.assign(r.style,a),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},Q,{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=_(v),y=f||(g===v||!h?[$(v)]:function(e){if(_(e)===M)return[];var t=$(e);return[te(e),t,te(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(_(n)===M?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?V:f,p=X(r),u=p?s?S:S.filter((function(e){return X(e)===p})):B,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=fe(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[_(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),w=t.rects.reference,x=t.rects.popper,O=new Map,j=!0,E=b[0],D=0;D=0,q=C?"width":"height",N=fe(t,{placement:A,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),I=C?T?P:W:T?L:k;w[q]>x[q]&&(I=$(I));var F=$(I),U=[];if(i&&U.push(N[R]<=0),s&&U.push(N[I]<=0,N[F]<=0),U.every((function(e){return e}))){E=A,j=!1;break}O.set(A,U)}if(j)for(var z=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},Y=h?3:1;Y>0;Y--){if("break"===z(Y))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},pe,ue,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=fe(t,{elementContext:"reference"}),s=fe(t,{altBoundary:!0}),f=le(a,r),c=le(s,o,i),p=de(f),u=de(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}}]})}}]); \ No newline at end of file +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[707],{8707(e,t,n){function r(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function o(e){return e instanceof r(e).Element||e instanceof Element}function i(e){return e instanceof r(e).HTMLElement||e instanceof HTMLElement}function a(e){return"undefined"!=typeof ShadowRoot&&(e instanceof r(e).ShadowRoot||e instanceof ShadowRoot)}n.d(t,{createPopper:()=>he});var s=Math.max,f=Math.min,c=Math.round;function p(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function u(){return!/^((?!chrome|android).)*safari/i.test(p())}function l(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var a=e.getBoundingClientRect(),s=1,f=1;t&&i(e)&&(s=e.offsetWidth>0&&c(a.width)/e.offsetWidth||1,f=e.offsetHeight>0&&c(a.height)/e.offsetHeight||1);var p=(o(e)?r(e):window).visualViewport,l=!u()&&n,d=(a.left+(l&&p?p.offsetLeft:0))/s,h=(a.top+(l&&p?p.offsetTop:0))/f,m=a.width/s,v=a.height/f;return{width:m,height:v,top:h,right:d+m,bottom:h+v,left:d,x:d,y:h}}function d(e){var t=r(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function h(e){return e?(e.nodeName||"").toLowerCase():null}function m(e){return((o(e)?e.ownerDocument:e.document)||window.document).documentElement}function v(e){return l(m(e)).left+d(e).scrollLeft}function g(e){return r(e).getComputedStyle(e)}function y(e){var t=g(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function b(e,t,n){void 0===n&&(n=!1);var o,a,s=i(t),f=i(t)&&function(e){var t=e.getBoundingClientRect(),n=c(t.width)/e.offsetWidth||1,r=c(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),p=m(t),u=l(e,f,n),g={scrollLeft:0,scrollTop:0},b={x:0,y:0};return(s||!s&&!n)&&(("body"!==h(t)||y(p))&&(g=(o=t)!==r(o)&&i(o)?{scrollLeft:(a=o).scrollLeft,scrollTop:a.scrollTop}:d(o)),i(t)?((b=l(t,!0)).x+=t.clientLeft,b.y+=t.clientTop):p&&(b.x=v(p))),{x:u.left+g.scrollLeft-b.x,y:u.top+g.scrollTop-b.y,width:u.width,height:u.height}}function w(e){var t=l(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function x(e){return"html"===h(e)?e:e.assignedSlot||e.parentNode||(a(e)?e.host:null)||m(e)}function O(e){return["html","body","#document"].indexOf(h(e))>=0?e.ownerDocument.body:i(e)&&y(e)?e:O(x(e))}function j(e,t){var n;void 0===t&&(t=[]);var o=O(e),i=o===(null==(n=e.ownerDocument)?void 0:n.body),a=r(o),s=i?[a].concat(a.visualViewport||[],y(o)?o:[]):o,f=t.concat(s);return i?f:f.concat(j(x(s)))}function E(e){return["table","td","th"].indexOf(h(e))>=0}function D(e){return i(e)&&"fixed"!==g(e).position?e.offsetParent:null}function A(e){for(var t=r(e),n=D(e);n&&E(n)&&"static"===g(n).position;)n=D(n);return n&&("html"===h(n)||"body"===h(n)&&"static"===g(n).position)?t:n||function(e){var t=/firefox/i.test(p());if(/Trident/i.test(p())&&i(e)&&"fixed"===g(e).position)return null;var n=x(e);for(a(n)&&(n=n.host);i(n)&&["html","body"].indexOf(h(n))<0;){var r=g(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var k="top",L="bottom",P="right",W="left",M="auto",B=[k,L,P,W],H="start",R="end",T="viewport",C="popper",S=B.reduce((function(e,t){return e.concat([t+"-"+H,t+"-"+R])}),[]),V=[].concat(B,[M]).reduce((function(e,t){return e.concat([t,t+"-"+H,t+"-"+R])}),[]),q=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function N(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}var I={placement:"bottom",modifiers:[],strategy:"absolute"};function F(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function G(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?_(o):null,a=o?X(o):null,s=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2;switch(i){case k:t={x:s,y:n.y-r.height};break;case L:t={x:s,y:n.y+n.height};break;case P:t={x:n.x+n.width,y:f};break;case W:t={x:n.x-r.width,y:f};break;default:t={x:n.x,y:n.y}}var c=i?Y(i):null;if(null!=c){var p="y"===c?"height":"width";switch(a){case H:t[c]=t[c]-(n[p]/2-r[p]/2);break;case R:t[c]=t[c]+(n[p]/2-r[p]/2)}}return t}var J={top:"auto",right:"auto",bottom:"auto",left:"auto"};function K(e){var t,n=e.popper,o=e.popperRect,i=e.placement,a=e.variation,s=e.offsets,f=e.position,p=e.gpuAcceleration,u=e.adaptive,l=e.roundOffsets,d=e.isFixed,h=s.x,v=void 0===h?0:h,y=s.y,b=void 0===y?0:y,w="function"==typeof l?l({x:v,y:b}):{x:v,y:b};v=w.x,b=w.y;var x=s.hasOwnProperty("x"),O=s.hasOwnProperty("y"),j=W,E=k,D=window;if(u){var M=A(n),B="clientHeight",H="clientWidth";if(M===r(n)&&"static"!==g(M=m(n)).position&&"absolute"===f&&(B="scrollHeight",H="scrollWidth"),i===k||(i===W||i===P)&&a===R)E=L,b-=(d&&M===D&&D.visualViewport?D.visualViewport.height:M[B])-o.height,b*=p?1:-1;if(i===W||(i===k||i===L)&&a===R)j=P,v-=(d&&M===D&&D.visualViewport?D.visualViewport.width:M[H])-o.width,v*=p?1:-1}var T,C=Object.assign({position:f},u&&J),S=!0===l?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:c(n*o)/o||0,y:c(r*o)/o||0}}({x:v,y:b},r(n)):{x:v,y:b};return v=S.x,b=S.y,p?Object.assign({},C,((T={})[E]=O?"0":"",T[j]=x?"0":"",T.transform=(D.devicePixelRatio||1)<=1?"translate("+v+"px, "+b+"px)":"translate3d("+v+"px, "+b+"px, 0)",T)):Object.assign({},C,((t={})[E]=O?b+"px":"",t[j]=x?v+"px":"",t.transform="",t))}const Q={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=V.reduce((function(e,n){return e[n]=function(e,t,n){var r=_(e),o=[W,k].indexOf(r)>=0?-1:1,i="function"==typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[W,P].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,i),e}),{}),s=a[t.placement],f=s.x,c=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=f,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}};var Z={left:"right",right:"left",bottom:"top",top:"bottom"};function $(e){return e.replace(/left|right|bottom|top/g,(function(e){return Z[e]}))}var ee={start:"end",end:"start"};function te(e){return e.replace(/start|end/g,(function(e){return ee[e]}))}function ne(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&a(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function re(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function oe(e,t,n){return t===T?re(function(e,t){var n=r(e),o=m(e),i=n.visualViewport,a=o.clientWidth,s=o.clientHeight,f=0,c=0;if(i){a=i.width,s=i.height;var p=u();(p||!p&&"fixed"===t)&&(f=i.offsetLeft,c=i.offsetTop)}return{width:a,height:s,x:f+v(e),y:c}}(e,n)):o(t)?function(e,t){var n=l(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(t,n):re(function(e){var t,n=m(e),r=d(e),o=null==(t=e.ownerDocument)?void 0:t.body,i=s(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=s(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),f=-r.scrollLeft+v(e),c=-r.scrollTop;return"rtl"===g(o||n).direction&&(f+=s(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:f,y:c}}(m(e)))}function ie(e,t,n,r){var a="clippingParents"===t?function(e){var t=j(x(e)),n=["absolute","fixed"].indexOf(g(e).position)>=0&&i(e)?A(e):e;return o(n)?t.filter((function(e){return o(e)&&ne(e,n)&&"body"!==h(e)})):[]}(e):[].concat(t),c=[].concat(a,[n]),p=c[0],u=c.reduce((function(t,n){var o=oe(e,n,r);return t.top=s(o.top,t.top),t.right=f(o.right,t.right),t.bottom=f(o.bottom,t.bottom),t.left=s(o.left,t.left),t}),oe(e,p,r));return u.width=u.right-u.left,u.height=u.bottom-u.top,u.x=u.left,u.y=u.top,u}function ae(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function se(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function fe(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=void 0===r?e.placement:r,a=n.strategy,s=void 0===a?e.strategy:a,f=n.boundary,c=void 0===f?"clippingParents":f,p=n.rootBoundary,u=void 0===p?T:p,d=n.elementContext,h=void 0===d?C:d,v=n.altBoundary,g=void 0!==v&&v,y=n.padding,b=void 0===y?0:y,w=ae("number"!=typeof b?b:se(b,B)),x=h===C?"reference":C,O=e.rects.popper,j=e.elements[g?x:h],E=ie(o(j)?j:j.contextElement||m(e.elements.popper),c,u,s),D=l(e.elements.reference),A=G({reference:D,element:O,strategy:"absolute",placement:i}),W=re(Object.assign({},O,A)),M=h===C?W:D,H={top:E.top-M.top+w.top,bottom:M.bottom-E.bottom+w.bottom,left:E.left-M.left+w.left,right:M.right-E.right+w.right},R=e.modifiersData.offset;if(h===C&&R){var S=R[i];Object.keys(H).forEach((function(e){var t=[P,L].indexOf(e)>=0?1:-1,n=[k,L].indexOf(e)>=0?"y":"x";H[e]+=S[n]*t}))}return H}function ce(e,t,n){return s(e,f(t,n))}const pe={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=void 0===o||o,a=n.altAxis,c=void 0!==a&&a,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.padding,h=n.tether,m=void 0===h||h,v=n.tetherOffset,g=void 0===v?0:v,y=fe(t,{boundary:p,rootBoundary:u,padding:d,altBoundary:l}),b=_(t.placement),x=X(t.placement),O=!x,j=Y(b),E="x"===j?"y":"x",D=t.modifiersData.popperOffsets,M=t.rects.reference,B=t.rects.popper,R="function"==typeof g?g(Object.assign({},t.rects,{placement:t.placement})):g,T="number"==typeof R?{mainAxis:R,altAxis:R}:Object.assign({mainAxis:0,altAxis:0},R),C=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,S={x:0,y:0};if(D){if(i){var V,q="y"===j?k:W,N="y"===j?L:P,I="y"===j?"height":"width",F=D[j],U=F+y[q],z=F-y[N],G=m?-B[I]/2:0,J=x===H?M[I]:B[I],K=x===H?-B[I]:-M[I],Q=t.elements.arrow,Z=m&&Q?w(Q):{width:0,height:0},$=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ee=$[q],te=$[N],ne=ce(0,M[I],Z[I]),re=O?M[I]/2-G-ne-ee-T.mainAxis:J-ne-ee-T.mainAxis,oe=O?-M[I]/2+G+ne+te+T.mainAxis:K+ne+te+T.mainAxis,ie=t.elements.arrow&&A(t.elements.arrow),ae=ie?"y"===j?ie.clientTop||0:ie.clientLeft||0:0,se=null!=(V=null==C?void 0:C[j])?V:0,pe=F+oe-se,ue=ce(m?f(U,F+re-se-ae):U,F,m?s(z,pe):z);D[j]=ue,S[j]=ue-F}if(c){var le,de="x"===j?k:W,he="x"===j?L:P,me=D[E],ve="y"===E?"height":"width",ge=me+y[de],ye=me-y[he],be=-1!==[k,W].indexOf(b),we=null!=(le=null==C?void 0:C[E])?le:0,xe=be?ge:me-M[ve]-B[ve]-we+T.altAxis,Oe=be?me+M[ve]+B[ve]-we-T.altAxis:ye,je=m&&be?function(e,t,n){var r=ce(e,t,n);return r>n?n:r}(xe,me,Oe):ce(m?xe:ge,me,m?Oe:ye);D[E]=je,S[E]=je-me}t.modifiersData[r]=S}},requiresIfExists:["offset"]};const ue={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=_(n.placement),f=Y(s),c=[W,P].indexOf(s)>=0?"height":"width";if(i&&a){var p=function(e,t){return ae("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:se(e,B))}(o.padding,n),u=w(i),l="y"===f?k:W,d="y"===f?L:P,h=n.rects.reference[c]+n.rects.reference[f]-a[f]-n.rects.popper[c],m=a[f]-n.rects.reference[f],v=A(i),g=v?"y"===f?v.clientHeight||0:v.clientWidth||0:0,y=h/2-m/2,b=p[l],x=g-u[c]-p[d],O=g/2-u[c]/2+y,j=ce(b,O,x),E=f;n.modifiersData[r]=((t={})[E]=j,t.centerOffset=j-O,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&ne(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function le(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function de(e){return[k,P,L,W].some((function(t){return e[t]>=0}))}var he=U({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,o=e.options,i=o.scroll,a=void 0===i||i,s=o.resize,f=void 0===s||s,c=r(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&p.forEach((function(e){e.addEventListener("scroll",n.update,z)})),f&&c.addEventListener("resize",n.update,z),function(){a&&p.forEach((function(e){e.removeEventListener("scroll",n.update,z)})),f&&c.removeEventListener("resize",n.update,z)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=G({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,f=void 0===s||s,c={placement:_(t.placement),variation:X(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,K(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:f})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,K(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&h(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},a=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});i(r)&&h(r)&&(Object.assign(r.style,a),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},Q,{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,s=void 0===a||a,f=n.fallbackPlacements,c=n.padding,p=n.boundary,u=n.rootBoundary,l=n.altBoundary,d=n.flipVariations,h=void 0===d||d,m=n.allowedAutoPlacements,v=t.options.placement,g=_(v),y=f||(g===v||!h?[$(v)]:function(e){if(_(e)===M)return[];var t=$(e);return[te(e),t,te(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(_(n)===M?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,f=n.allowedAutoPlacements,c=void 0===f?V:f,p=X(r),u=p?s?S:S.filter((function(e){return X(e)===p})):B,l=u.filter((function(e){return c.indexOf(e)>=0}));0===l.length&&(l=u);var d=l.reduce((function(t,n){return t[n]=fe(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[_(n)],t}),{});return Object.keys(d).sort((function(e,t){return d[e]-d[t]}))}(t,{placement:n,boundary:p,rootBoundary:u,padding:c,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),w=t.rects.reference,x=t.rects.popper,O=new Map,j=!0,E=b[0],D=0;D=0,q=C?"width":"height",N=fe(t,{placement:A,boundary:p,rootBoundary:u,altBoundary:l,padding:c}),I=C?T?P:W:T?L:k;w[q]>x[q]&&(I=$(I));var F=$(I),U=[];if(i&&U.push(N[R]<=0),s&&U.push(N[I]<=0,N[F]<=0),U.every((function(e){return e}))){E=A,j=!1;break}O.set(A,U)}if(j)for(var z=function(e){var t=b.find((function(t){var n=O.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return E=t,"break"},Y=h?3:1;Y>0;Y--){if("break"===z(Y))break}t.placement!==E&&(t.modifiersData[r]._skip=!0,t.placement=E,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},pe,ue,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=fe(t,{elementContext:"reference"}),s=fe(t,{altBoundary:!0}),f=le(a,r),c=le(s,o,i),p=de(f),u=de(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}}]})}}]); \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js index bc0025555..034c2b009 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1,2 +1,2 @@ /*! For license information please see app.js.LICENSE.txt */ -(()=>{var e,t,n={95:()=>{!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(n=i=e,o=(r=String).prototype,o.isPrototypeOf(n)||(null===(s=i.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var n,o;var i,r,s})(t)===e,n=e=>t=>typeof t===e,o=t("string"),i=t("object"),r=t("array"),s=(a=null,e=>a===e);var a;const l=n("boolean"),c=e=>!(e=>null==e)(e),u=n("function"),d=(e,t)=>{if(r(e)){for(let n=0,o=e.length;n{},f=(e,t)=>e===t;class p{constructor(e,t){this.tag=e,this.value=t}static some(e){return new p(!0,e)}static none(){return p.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?p.some(e(this.value)):p.none()}bind(e){return this.tag?e(this.value):p.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:p.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return c(e)?p.some(e):p.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}p.singletonNone=new p(!1);const m=Array.prototype.indexOf,g=Array.prototype.push,O=(e,t)=>((e,t)=>m.call(e,t))(e,t)>-1,v=e=>{const t=[];for(let n=0,o=e.length;nv(((e,t)=>{const n=e.length,o=new Array(n);for(let i=0;i{for(let n=0;ne.exists((e=>n(e,t))),w=e=>{const t=[],n=e=>{t.push(e)};for(let t=0;te?p.some(t):p.none(),_=e=>t=>t.options.get(e),k=_("link_assume_external_targets"),C=_("link_context_toolbar"),T=_("link_list"),$=_("link_default_target"),P=_("link_default_protocol"),A=_("link_target_list"),Q=_("link_rel_list"),E=_("link_class_list"),M=_("link_title"),D=_("allow_unsafe_link_target"),I=_("link_quicklink"),R=_("link_attributes_postprocess"),z=Object.keys,N=Object.hasOwnProperty,L=(e,t,n,o)=>{((e,t)=>{const n=z(e);for(let o=0,i=n.length;o{(t(e,i)?n:o)(e,i)}))},j=(e,t)=>N.call(e,t);var B=tinymce.util.Tools.resolve("tinymce.util.URI"),V=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),Z=tinymce.util.Tools.resolve("tinymce.util.Tools");const X=e=>c(e)&&"a"===e.nodeName.toLowerCase(),W=e=>X(e)&&!!F(e),U=(e,t)=>{if(e.collapsed)return[];{const n=e.cloneContents(),o=n.firstChild,i=new V(o,n),r=[];let s=o;do{t(s)&&r.push(s)}while(s=i.next());return r}},Y=e=>/^\w+:/i.test(e),F=e=>{var t,n;return null!==(n=null!==(t=e.getAttribute("data-mce-href"))&&void 0!==t?t:e.getAttribute("href"))&&void 0!==n?n:""},q=(e,t)=>{const n=["noopener"],o=e?e.split(/\s+/):[],i=e=>e.filter((e=>-1===Z.inArray(n,e))),r=t?(e=>(e=i(e)).length>0?e.concat(n):n)(o):i(o);return r.length>0?(e=>Z.trim(e.sort().join(" ")))(r):""},H=(e,t)=>(t=t||J(e.selection.getRng())[0]||e.selection.getNode(),oe(t)?p.from(e.dom.select("a[href]",t)[0]):p.from(e.dom.getParent(t,"a[href]"))),G=(e,t)=>H(e,t).isSome(),K=(e,t)=>(e=>e.replace(/\uFEFF/g,""))(t.fold((()=>e.getContent({format:"text"})),(e=>e.innerText||e.textContent||""))),J=e=>U(e,W),ee=e=>Z.grep(e,W),te=e=>ee(e).length>0,ne=e=>{const t=e.schema.getTextInlineElements(),n=e=>1===e.nodeType&&!X(e)&&!j(t,e.nodeName.toLowerCase());if(H(e).exists((e=>e.hasAttribute("data-mce-block"))))return!1;const o=e.selection.getRng();if(o.collapsed)return!0;return 0===U(o,n).length},oe=e=>c(e)&&"FIGURE"===e.nodeName&&/\bimage\b/i.test(e.className),ie=(e,t)=>{const n={...t};if(0===Q(e).length&&!D(e)){const e=q(n.rel,"_blank"===n.target);n.rel=e||null}return p.from(n.target).isNone()&&!1===A(e)&&(n.target=$(e)),n.href=((e,t)=>"http"!==t&&"https"!==t||Y(e)?e:t+"://"+e)(n.href,k(e)),n},re=(e,t,n)=>{const o=e.selection.getNode(),i=H(e,o),r=ie(e,(e=>{return t=["title","rel","class","target"],n=(t,n)=>(e[n].each((e=>{t[n]=e.length>0?e:null})),t),o={href:e.href},((e,t)=>{for(let n=0,o=e.length;n{o=n(o,e,t)})),o;var t,n,o})(n)),s=R(e);c(s)&&s(r),e.undoManager.transact((()=>{n.href===t.href&&t.attach(),i.fold((()=>{((e,t,n,o)=>{const i=e.dom;oe(t)?ue(i,t,o):n.fold((()=>{e.execCommand("mceInsertLink",!1,o);const t=e.selection.getEnd(),n=i.createRng();n.setStartAfter(t),n.setEndAfter(t),e.selection.setRng(n)}),(t=>{e.insertContent(i.createHTML("a",o,i.encode(t)))}))})(e,o,n.text,r)}),(t=>{e.focus(),((e,t,n,o)=>{n.each((e=>{j(t,"innerText")?t.innerText=e:t.textContent=e})),e.dom.setAttribs(t,o);const i=e.dom.createRng();i.setStartAfter(t),i.setEndAfter(t),e.selection.setRng(i)})(e,t,n.text,r)}))}))},se=e=>{const{class:t,href:n,rel:o,target:i,text:r,title:a}=e;return((e,t)=>{const n={};var o;return L(e,t,(o=n,(e,t)=>{o[t]=e}),h),n})({class:t.getOrNull(),href:n,rel:o.getOrNull(),target:i.getOrNull(),text:r.getOrNull(),title:a.getOrNull()},((e,t)=>!1===s(e)))},ae=(e,t,n)=>{const o=((e,t)=>{const n=e.options.get,o={allow_html_data_urls:n("allow_html_data_urls"),allow_script_urls:n("allow_script_urls"),allow_svg_data_urls:n("allow_svg_data_urls")},i=t.href;return{...t,href:B.isDomSafe(i,"a",o)?i:""}})(e,n);e.hasPlugin("rtc",!0)?e.execCommand("createlink",!1,se(o)):re(e,t,o)},le=e=>{e.hasPlugin("rtc",!0)?e.execCommand("unlink"):(e=>{e.undoManager.transact((()=>{const t=e.selection.getNode();oe(t)?ce(e,t):(e=>{const t=e.dom,n=e.selection,o=n.getBookmark(),i=n.getRng().cloneRange(),r=t.getParent(i.startContainer,"a[href]",e.getBody()),s=t.getParent(i.endContainer,"a[href]",e.getBody());r&&i.setStartBefore(r),s&&i.setEndAfter(s),n.setRng(i),e.execCommand("unlink"),n.moveToBookmark(o)})(e),e.focus()}))})(e)},ce=(e,t)=>{var n;const o=e.dom.select("img",t)[0];if(o){const i=e.dom.getParents(o,"a[href]",t)[0];i&&(null===(n=i.parentNode)||void 0===n||n.insertBefore(o,i),e.dom.remove(i))}},ue=(e,t,n)=>{var o;const i=e.select("img",t)[0];if(i){const t=e.create("a",n);null===(o=i.parentNode)||void 0===o||o.insertBefore(t,i),t.appendChild(i)}},de=e=>o(e.value)?e.value:"",he=(e,t)=>{const n=[];return Z.each(e,(e=>{const i=(e=>o(e.text)?e.text:o(e.title)?e.title:"")(e);if(void 0!==e.menu){const o=he(e.menu,t);n.push({text:i,items:o})}else{const o=t(e);n.push({text:i,value:o})}})),n},fe=(e=de)=>t=>p.from(t).map((t=>he(t,e))),pe={sanitize:e=>fe(de)(e),sanitizeWith:fe,createUi:(e,t)=>n=>({name:e,type:"listbox",label:t,items:n}),getValue:de},me=e=>{return j(t=e,n="items")&&void 0!==t[n]&&null!==t[n];var t,n},ge=(e,t)=>y(t,(t=>me(t)?ge(e,t.items):S(t.value===e,t))),Oe=(e,t,n,o)=>{const i=o[t],r=e.length>0;return void 0!==i?ge(i,n).map((t=>({url:{value:t.value,meta:{text:r?e:t.text,attach:h}},text:r?e:t.text}))):p.none()},ve=(e,t)=>{const n={text:e.text,title:e.title},o=e=>{const t=(o=e.url,S(n.text.length<=0,p.from(null===(i=o.meta)||void 0===i?void 0:i.text).getOr(o.value)));var o,i;const r=(e=>{var t;return S(n.title.length<=0,p.from(null===(t=e.meta)||void 0===t?void 0:t.title).getOr(""))})(e.url);return t.isSome()||r.isSome()?p.some({...t.map((e=>({text:e}))).getOr({}),...r.map((e=>({title:e}))).getOr({})}):p.none()},i=(e,o)=>{const i=(r=t,s=o,"link"===s?r.link:"anchor"===s?r.anchor:p.none()).getOr([]);var r,s;return Oe(n.text,o,i,e)};return{onChange:(e,t)=>{const r=t.name;return"url"===r?o(e()):O(["anchor","link"],r)?i(e(),r):"text"===r||"title"===r?(n[r]=e()[r],p.none()):p.none()}}};var be=tinymce.util.Tools.resolve("tinymce.util.Delay");const ye=e=>{const t=e.href;return t.indexOf("@")>0&&-1===t.indexOf("/")&&-1===t.indexOf("mailto:")?p.some({message:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",preprocess:e=>({...e,href:"mailto:"+t})}):p.none()},xe=(e,t)=>n=>{const o=n.href;return 1===e&&!Y(o)||0===e&&/^\s*www(\.|\d\.)/i.test(o)?p.some({message:`The URL you entered seems to be an external link. Do you want to add the required ${t}:// prefix?`,preprocess:e=>({...e,href:t+"://"+o})}):p.none()},we=(e,t)=>y([ye,xe(k(e),P(e))],(e=>e(t))).fold((()=>Promise.resolve(t)),(n=>new Promise((o=>{((e,t,n)=>{const o=e.selection.getRng();be.setEditorTimeout(e,(()=>{e.windowManager.confirm(t,(t=>{e.selection.setRng(o),n(t)}))}))})(e,n.message,(e=>{o(e?n.preprocess(t):t)}))})))),Se=e=>{const t=e.dom.select("a:not([href])"),n=b(t,(e=>{const t=e.name||e.id;return t?[{text:t,value:"#"+t}]:[]}));return n.length>0?p.some([{text:"None",value:""}].concat(n)):p.none()},_e=e=>{const t=E(e);return t.length>0?pe.sanitize(t):p.none()},ke=e=>{try{return p.some(JSON.parse(e))}catch(e){return p.none()}},Ce=e=>{const t=t=>e.convertURL(t.value||t.url||"","href"),n=T(e);return new Promise((e=>{o(n)?fetch(n).then((e=>e.ok?e.text().then(ke):Promise.reject())).then(e,(()=>e(p.none()))):u(n)?n((t=>e(p.some(t)))):e(p.from(n))})).then((e=>e.bind(pe.sanitizeWith(t)).map((e=>{if(e.length>0){return[{text:"None",value:""}].concat(e)}return e}))))},Te=(e,t)=>{const n=Q(e);if(n.length>0){const o=x(t,"_blank"),i=e=>q(pe.getValue(e),o);return(!1===D(e)?pe.sanitizeWith(i):pe.sanitize)(n)}return p.none()},$e=[{text:"Current window",value:""},{text:"New window",value:"_blank"}],Pe=e=>{const t=A(e);return r(t)?pe.sanitize(t).orThunk((()=>p.some($e))):!1===t?p.none():p.some($e)},Ae=(e,t,n)=>{const o=e.getAttrib(t,n);return null!==o&&o.length>0?p.some(o):p.none()},Qe=(e,t)=>Ce(e).then((n=>{const o=((e,t)=>{const n=e.dom,o=ne(e)?p.some(K(e.selection,t)):p.none(),i=t.bind((e=>p.from(n.getAttrib(e,"href")))),r=t.bind((e=>p.from(n.getAttrib(e,"target")))),s=t.bind((e=>Ae(n,e,"rel"))),a=t.bind((e=>Ae(n,e,"class")));return{url:i,text:o,title:t.bind((e=>Ae(n,e,"title"))),target:r,rel:s,linkClass:a}})(e,t);return{anchor:o,catalogs:{targets:Pe(e),rels:Te(e,o.target),classes:_e(e),anchor:Se(e),link:n},optNode:t,flags:{titleEnabled:M(e)}}})),Ee=e=>{const t=(e=>{const t=H(e);return Qe(e,t)})(e);t.then((t=>{const n=((e,t)=>n=>{const o=n.getData();if(!o.url.value)return le(e),void n.close();const i=e=>p.from(o[e]).filter((n=>!x(t.anchor[e],n))),r={href:o.url.value,text:i("text"),target:i("target"),rel:i("rel"),class:i("linkClass"),title:i("title")},s={href:o.url.value,attach:void 0!==o.url.meta&&o.url.meta.attach?o.url.meta.attach:h};we(e,r).then((t=>{ae(e,s,t)})),n.close()})(e,t);return((e,t,n)=>{const o=e.anchor.text.map((()=>({name:"text",type:"input",label:"Text to display"}))).toArray(),i=e.flags.titleEnabled?[{name:"title",type:"input",label:"Title"}]:[],r=((e,t)=>{const n=e.anchor,o=n.url.getOr("");return{url:{value:o,meta:{original:{value:o}}},text:n.text.getOr(""),title:n.title.getOr(""),anchor:o,link:o,rel:n.rel.getOr(""),target:n.target.or(t).getOr(""),linkClass:n.linkClass.getOr("")}})(e,p.from($(n))),s=e.catalogs,a=ve(r,s);return{title:"Insert/Edit Link",size:"normal",body:{type:"panel",items:v([[{name:"url",type:"urlinput",filetype:"file",label:"URL",picker_text:"Browse links"}],o,i,w([s.anchor.map(pe.createUi("anchor","Anchors")),s.rels.map(pe.createUi("rel","Rel")),s.targets.map(pe.createUi("target","Open link in...")),s.link.map(pe.createUi("link","Link list")),s.classes.map(pe.createUi("linkClass","Class"))])])},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:r,onChange:(e,{name:t})=>{a.onChange(e.getData,{name:t}).each((t=>{e.setData(t)}))},onSubmit:t}})(t,n,e)})).then((t=>{e.windowManager.open(t)}))},Me=()=>{const e=(e=>{const t=(e=>{let t=e;return{get:()=>t,set:e=>{t=e}}})(p.none()),n=()=>t.get().each(e);return{clear:()=>{n(),t.set(p.none())},isSet:()=>t.get().isSome(),get:()=>t.get(),set:e=>{n(),t.set(p.some(e))}}})(h);return{...e,on:t=>e.get().each(t)}},De=(e,t)=>((e,t,n)=>""===t||e.length>=t.length&&e.substr(n,n+t.length)===t)(e,t,0);var Ie=tinymce.util.Tools.resolve("tinymce.util.VK");const Re=e=>{const t=document.createElement("a");t.target="_blank",t.href=e,t.rel="noreferrer noopener";const n=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window});document.dispatchEvent(n),((e,t)=>{document.body.appendChild(e),e.dispatchEvent(t),document.body.removeChild(e)})(t,n)},ze=(e,t)=>{if(t){const i=F(t);if(/^#/.test(i)){const t=e.dom.select(`${i},[name="${n=i,o="#",De(n,o)?((e,t)=>e.substring(t))(n,o.length):n}"]`);t.length&&e.selection.scrollIntoView(t[0],!0)}else Re(t.href)}var n,o},Ne=(e,t)=>{const n=ee(e.dom.getParents(t));return S(1===n.length,n[0])},Le=e=>e.selection.isCollapsed()||(e=>{const t=e.selection.getRng(),n=t.startContainer;return W(n)&&t.startContainer===t.endContainer&&1===e.dom.select("img",n).length})(e)?Ne(e,e.selection.getStart()):(e=>{const t=J(e.selection.getRng());return S(t.length>0,t[0]).or(Ne(e,e.selection.getNode()))})(e),je=e=>()=>{e.execCommand("mceLink",!1,{dialog:!0})},Be=(e,t)=>(e.on("NodeChange",t),()=>e.off("NodeChange",t)),Ve=e=>t=>{const n=()=>{t.setActive(!e.mode.isReadOnly()&&G(e,e.selection.getNode())),t.setEnabled(e.selection.isEditable())};return n(),Be(e,n)},Ze=e=>t=>{const n=()=>{t.setEnabled(e.selection.isEditable())};return n(),Be(e,n)},Xe=e=>t=>{const n=t=>{return te(t)||(n=e.selection.getRng(),J(n).length>0);var n},o=e.dom.getParents(e.selection.getStart()),i=o=>{t.setEnabled(n(o)&&e.selection.isEditable())};return i(o),Be(e,(e=>i(e.parents)))},We=(e,t)=>{const n=t=>{const n=e.selection.getNode();return t.setEnabled(G(e,n)&&e.selection.isEditable()),h};e.ui.registry.addContextForm("quicklink",{launch:{type:"contextformtogglebutton",icon:"link",tooltip:"Link",onSetup:Ve(e)},label:"Link",predicate:t=>C(e)&&G(e,t),initValue:()=>H(e).fold((e=>()=>e)(""),F),commands:[{type:"contextformtogglebutton",icon:"link",tooltip:"Link",primary:!0,onSetup:t=>{const n=e.selection.getNode();return t.setActive(G(e,n)),Ve(e)(t)},onAction:t=>{const n=t.getValue(),o=(t=>{const n=H(e),o=ne(e);if(n.isNone()&&o){const o=K(e.selection,n);return S(0===o.length,t)}return p.none()})(n);ae(e,{href:n,attach:h},{href:n,text:o,title:p.none(),rel:p.none(),target:p.from($(e)),class:p.none()}),(e=>{e.selection.collapse(!1)})(e),t.hide()}},{type:"contextformbutton",icon:"unlink",tooltip:"Remove link",onSetup:n,onAction:t=>{le(e),t.hide()}},{type:"contextformbutton",icon:"new-tab",tooltip:"Open link",onSetup:n,onAction:e=>{t.gotoSelectedLink(),e.hide()}}]})},Ue=e=>{const t=(e=>{const t=Me(),n=()=>t.get().or(Le(e));return e.on("contextmenu",(n=>{Ne(e,n.target).each(t.set)})),e.on("SelectionChange",(()=>{t.isSet()||Le(e).each(t.set)})),e.on("click",(n=>{t.clear();const o=ee(e.dom.getParents(n.target));1===o.length&&Ie.metaKeyPressed(n)&&(n.preventDefault(),ze(e,o[0]))})),e.on("keydown",(o=>{t.clear(),!o.isDefaultPrevented()&&13===o.keyCode&&(e=>!0===e.altKey&&!1===e.shiftKey&&!1===e.ctrlKey&&!1===e.metaKey)(o)&&n().each((t=>{o.preventDefault(),ze(e,t)}))})),{gotoSelectedLink:()=>n().each((t=>ze(e,t)))}})(e);((e,t)=>{e.ui.registry.addToggleButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onAction:je(e),onSetup:Ve(e)}),e.ui.registry.addButton("openlink",{icon:"new-tab",tooltip:"Open link",onAction:t.gotoSelectedLink,onSetup:Xe(e)}),e.ui.registry.addButton("unlink",{icon:"unlink",tooltip:"Remove link",onAction:()=>le(e),onSetup:Xe(e)})})(e,t),((e,t)=>{e.ui.registry.addMenuItem("openlink",{text:"Open link",icon:"new-tab",onAction:t.gotoSelectedLink,onSetup:Xe(e)}),e.ui.registry.addMenuItem("link",{icon:"link",text:"Link...",shortcut:"Meta+K",onAction:je(e),onSetup:Ze(e)}),e.ui.registry.addMenuItem("unlink",{icon:"unlink",text:"Remove link",onAction:()=>le(e),onSetup:Xe(e)})})(e,t),(e=>{e.ui.registry.addContextMenu("link",{update:t=>e.dom.isEditable(t)?te(e.dom.getParents(t,"a"))?"link unlink openlink":"link":""})})(e),We(e,t)};e.add("link",(e=>{(e=>{const t=e.options.register;t("link_assume_external_targets",{processor:e=>{const t=o(e)||l(e);return t?!0===e?{value:1,valid:t}:"http"===e||"https"===e?{value:e,valid:t}:{value:0,valid:t}:{valid:!1,message:"Must be a string or a boolean."}},default:!1}),t("link_context_toolbar",{processor:"boolean",default:!1}),t("link_list",{processor:e=>o(e)||u(e)||d(e,i)}),t("link_default_target",{processor:"string"}),t("link_default_protocol",{processor:"string",default:"https"}),t("link_target_list",{processor:e=>l(e)||d(e,i),default:!0}),t("link_rel_list",{processor:"object[]",default:[]}),t("link_class_list",{processor:"object[]",default:[]}),t("link_title",{processor:"boolean",default:!0}),t("allow_unsafe_link_target",{processor:"boolean",default:!1}),t("link_quicklink",{processor:"boolean",default:!1}),t("link_attributes_postprocess",{processor:"function"})})(e),(e=>{e.addCommand("mceLink",((t,n)=>{!0!==(null==n?void 0:n.dialog)&&I(e)?e.dispatch("contexttoolbar-show",{toolbarKey:"quicklink"}):Ee(e)}))})(e),Ue(e),(e=>{e.addShortcut("Meta+K","",(()=>{e.execCommand("mceLink")}))})(e)}))}()},128:()=>{tinymce.PluginManager.add("face",(function(e,t){function n(t){tinymce.activeEditor.windowManager.open({title:"AI顔認識",body:{type:"panel",items:[{type:"alertbanner",level:"info",text:"写真の顔をAIで判断して、モザイク処理を施します。",icon:"info"},{type:"urlinput",name:"photo",filetype:"file",label:"jpg, png 形式の画像ファイル"},{type:"collection",name:"upload_max_filesize_caption",label:e.options.get("cc_config").upload_max_filesize_caption},{type:"input",name:"alt",inputMode:"text",label:"代替テキスト",placeholder:"",disabled:!1,maximized:!1},{type:"listbox",name:"image_size",label:"画像サイズ(最大でこの大きさに縮小されます)",disabled:!1,items:e.options.get("cc_config").face_image_sizes},{type:"listbox",name:"mosaic_fineness",label:"モザイクの粗さ",disabled:!1,items:e.options.get("cc_config").finenesses}]},initialData:{image_size:e.options.get("cc_config").face_image_initial,mosaic_fineness:e.options.get("cc_config").fineness_initial},buttons:[{type:"cancel",text:"Close"},{type:"submit",text:"Save",primary:!0}],onSubmit:function(t){xhr=new XMLHttpRequest,xhr.withCredentials=!1,xhr.open("POST",tinymce.activeEditor.getParam("document_base_url")+"/upload/face"),xhr.onload=function(){var n;xhr.status<200||xhr.status>=300?console.error("HTTP Error: "+xhr.status):(void 0!==(n=JSON.parse(xhr.responseText)).link_text&&e.insertContent(n.link_text),document.getElementById("cc-face-upload-"+r).value="",t.close())};var n=document.getElementsByName("csrf-token"),o=document.getElementsByName("_page_id"),i=t.getData(),r=e.options.get("cc_config").frame_id;formData=new FormData,formData.append("_token",n[0].content),formData.append("page_id",o[0].content),formData.append("plugin_name",e.options.get("cc_config").plugin_name),formData.append("photo",document.getElementById("cc-face-upload-"+r).files[0]),formData.append("alt",i.alt),formData.append("image_size",i.image_size),formData.append("mosaic_fineness",i.mosaic_fineness),xhr.send(formData)}})}e.ui.registry.addIcon("face",'\x3c!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--\x3e'),e.ui.registry.addButton("face",{icon:"face",tooltip:"AI顔認識",onAction:n,onPostRender:function(){var t=this;e.on("NodeChange",(function(n){var o=jQuery(e.selection.getNode()).hasClass("plugin");t.active(o)})),e.on("DblClick",(function(e){"plugin"==e.target.className&&n(e.toElement.innerText)}))}})}))},246:(e,t,n)=>{"use strict";function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function i(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}n.d(t,{Ay:()=>at});function c(e){if("undefined"!=typeof window&&window.navigator)return!!navigator.userAgent.match(e)}var u=c(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),d=c(/Edge/i),h=c(/firefox/i),f=c(/safari/i)&&!c(/chrome/i)&&!c(/android/i),p=c(/iP(ad|od|hone)/i),m=c(/chrome/i)&&c(/android/i),g={capture:!1,passive:!1};function O(e,t,n){e.addEventListener(t,n,!u&&g)}function v(e,t,n){e.removeEventListener(t,n,!u&&g)}function b(e,t){if(t){if(">"===t[0]&&(t=t.substring(1)),e)try{if(e.matches)return e.matches(t);if(e.msMatchesSelector)return e.msMatchesSelector(t);if(e.webkitMatchesSelector)return e.webkitMatchesSelector(t)}catch(e){return!1}return!1}}function y(e){return e.host&&e!==document&&e.host.nodeType?e.host:e.parentNode}function x(e,t,n,o){if(e){n=n||document;do{if(null!=t&&(">"===t[0]?e.parentNode===n&&b(e,t):b(e,t))||o&&e===n)return e;if(e===n)break}while(e=y(e))}return null}var w,S=/\s+/g;function _(e,t,n){if(e&&t)if(e.classList)e.classList[n?"add":"remove"](t);else{var o=(" "+e.className+" ").replace(S," ").replace(" "+t+" "," ");e.className=(o+(n?" "+t:"")).replace(S," ")}}function k(e,t,n){var o=e&&e.style;if(o){if(void 0===n)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(e,""):e.currentStyle&&(n=e.currentStyle),void 0===t?n:n[t];t in o||-1!==t.indexOf("webkit")||(t="-webkit-"+t),o[t]=n+("string"==typeof n?"":"px")}}function C(e,t){var n="";if("string"==typeof e)n=e;else do{var o=k(e,"transform");o&&"none"!==o&&(n=o+" "+n)}while(!t&&(e=e.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(n)}function T(e,t,n){if(e){var o=e.getElementsByTagName(t),i=0,r=o.length;if(n)for(;i=r:i<=r))return o;if(o===$())break;o=I(o,!1)}return!1}function Q(e,t,n,o){for(var i=0,r=0,s=e.children;r2&&void 0!==arguments[2]?arguments[2]:{},o=n.evt,r=l(n,Y);W.pluginEvent.bind(je)(e,t,i({dragEl:H,parentEl:G,ghostEl:K,rootEl:J,nextEl:ee,lastDownEl:te,cloneEl:ne,cloneHidden:oe,dragStarted:ge,putSortable:ce,activeSortable:je.active,originalEvent:o,oldIndex:ie,oldDraggableIndex:se,newIndex:re,newDraggableIndex:ae,hideGhostForTarget:Re,unhideGhostForTarget:ze,cloneNowHidden:function(){oe=!0},cloneNowShown:function(){oe=!1},dispatchSortableEvent:function(e){q({sortable:t,name:e,originalEvent:o})}},r))};function q(e){U(i({putSortable:ce,cloneEl:ne,targetEl:H,rootEl:J,oldIndex:ie,oldDraggableIndex:se,newIndex:re,newDraggableIndex:ae},e))}var H,G,K,J,ee,te,ne,oe,ie,re,se,ae,le,ce,ue,de,he,fe,pe,me,ge,Oe,ve,be,ye,xe=!1,we=!1,Se=[],_e=!1,ke=!1,Ce=[],Te=!1,$e=[],Pe="undefined"!=typeof document,Ae=p,Qe=d||u?"cssFloat":"float",Ee=Pe&&!m&&!p&&"draggable"in document.createElement("div"),Me=function(){if(Pe){if(u)return!1;var e=document.createElement("x");return e.style.cssText="pointer-events:auto","auto"===e.style.pointerEvents}}(),De=function(e,t){var n=k(e),o=parseInt(n.width)-parseInt(n.paddingLeft)-parseInt(n.paddingRight)-parseInt(n.borderLeftWidth)-parseInt(n.borderRightWidth),i=Q(e,0,t),r=Q(e,1,t),s=i&&k(i),a=r&&k(r),l=s&&parseInt(s.marginLeft)+parseInt(s.marginRight)+P(i).width,c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+P(r).width;if("flex"===n.display)return"column"===n.flexDirection||"column-reverse"===n.flexDirection?"vertical":"horizontal";if("grid"===n.display)return n.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&s.float&&"none"!==s.float){var u="left"===s.float?"left":"right";return!r||"both"!==a.clear&&a.clear!==u?"horizontal":"vertical"}return i&&("block"===s.display||"flex"===s.display||"table"===s.display||"grid"===s.display||l>=o&&"none"===n[Qe]||r&&"none"===n[Qe]&&l+c>o)?"vertical":"horizontal"},Ie=function(e){function t(e,n){return function(o,i,r,s){var a=o.options.group.name&&i.options.group.name&&o.options.group.name===i.options.group.name;if(null==e&&(n||a))return!0;if(null==e||!1===e)return!1;if(n&&"clone"===e)return e;if("function"==typeof e)return t(e(o,i,r,s),n)(o,i,r,s);var l=(n?o:i).options.group.name;return!0===e||"string"==typeof e&&e===l||e.join&&e.indexOf(l)>-1}}var n={},o=e.group;o&&"object"==r(o)||(o={name:o}),n.name=o.name,n.checkPull=t(o.pull,!0),n.checkPut=t(o.put),n.revertClone=o.revertClone,e.group=n},Re=function(){!Me&&K&&k(K,"display","none")},ze=function(){!Me&&K&&k(K,"display","")};Pe&&!m&&document.addEventListener("click",(function(e){if(we)return e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.stopImmediatePropagation&&e.stopImmediatePropagation(),we=!1,!1}),!0);var Ne=function(e){if(H){e=e.touches?e.touches[0]:e;var t=(i=e.clientX,r=e.clientY,Se.some((function(e){var t=e[B].options.emptyInsertThreshold;if(t&&!E(e)){var n=P(e),o=i>=n.left-t&&i<=n.right+t,a=r>=n.top-t&&r<=n.bottom+t;return o&&a?s=e:void 0}})),s);if(t){var n={};for(var o in e)e.hasOwnProperty(o)&&(n[o]=e[o]);n.target=n.rootEl=t,n.preventDefault=void 0,n.stopPropagation=void 0,t[B]._onDragOver(n)}}var i,r,s},Le=function(e){H&&H.parentNode[B]._isOutsideThisEl(e.target)};function je(e,t){if(!e||!e.nodeType||1!==e.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(e));this.el=e,this.options=t=a({},t),e[B]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(e.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return De(e,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(e,t){e.setData("Text",t.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==je.supportPointer&&"PointerEvent"in window&&(!f||p),emptyInsertThreshold:5};for(var o in W.initializePlugins(this,e,n),n)!(o in t)&&(t[o]=n[o]);for(var i in Ie(t),this)"_"===i.charAt(0)&&"function"==typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!t.forceFallback&&Ee,this.nativeDraggable&&(this.options.touchStartThreshold=1),t.supportPointer?O(e,"pointerdown",this._onTapStart):(O(e,"mousedown",this._onTapStart),O(e,"touchstart",this._onTapStart)),this.nativeDraggable&&(O(e,"dragover",this),O(e,"dragenter",this)),Se.push(this.el),t.store&&t.store.get&&this.sort(t.store.get(this)||[]),a(this,V())}function Be(e,t,n,o,i,r,s,a){var l,c,h=e[B],f=h.options.onMove;return!window.CustomEvent||u||d?(l=document.createEvent("Event")).initEvent("move",!0,!0):l=new CustomEvent("move",{bubbles:!0,cancelable:!0}),l.to=t,l.from=e,l.dragged=n,l.draggedRect=o,l.related=i||t,l.relatedRect=r||P(t),l.willInsertAfter=a,l.originalEvent=s,e.dispatchEvent(l),f&&(c=f.call(h,l,s)),c}function Ve(e){e.draggable=!1}function Ze(){Te=!1}function Xe(e){for(var t=e.tagName+e.className+e.src+e.href+e.textContent,n=t.length,o=0;n--;)o+=t.charCodeAt(n);return o.toString(36)}function We(e){return setTimeout(e,0)}function Ue(e){return clearTimeout(e)}je.prototype={constructor:je,_isOutsideThisEl:function(e){this.el.contains(e)||e===this.el||(Oe=null)},_getDirection:function(e,t){return"function"==typeof this.options.direction?this.options.direction.call(this,e,t,H):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,n=this.el,o=this.options,i=o.preventOnFilter,r=e.type,s=e.touches&&e.touches[0]||e.pointerType&&"touch"===e.pointerType&&e,a=(s||e).target,l=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||a,c=o.filter;if(function(e){$e.length=0;var t=e.getElementsByTagName("input"),n=t.length;for(;n--;){var o=t[n];o.checked&&$e.push(o)}}(n),!H&&!(/mousedown|pointerdown/.test(r)&&0!==e.button||o.disabled)&&!l.isContentEditable&&(this.nativeDraggable||!f||!a||"SELECT"!==a.tagName.toUpperCase())&&!((a=x(a,o.draggable,n,!1))&&a.animated||te===a)){if(ie=M(a),se=M(a,o.draggable),"function"==typeof c){if(c.call(this,e,a,this))return q({sortable:t,rootEl:l,name:"filter",targetEl:a,toEl:n,fromEl:n}),F("filter",t,{evt:e}),void(i&&e.preventDefault())}else if(c&&(c=c.split(",").some((function(o){if(o=x(l,o.trim(),n,!1))return q({sortable:t,rootEl:o,name:"filter",targetEl:a,fromEl:n,toEl:n}),F("filter",t,{evt:e}),!0}))))return void(i&&e.preventDefault());o.handle&&!x(l,o.handle,n,!1)||this._prepareDragStart(e,s,a)}}},_prepareDragStart:function(e,t,n){var o,i=this,r=i.el,s=i.options,a=r.ownerDocument;if(n&&!H&&n.parentNode===r){var l=P(n);if(J=r,G=(H=n).parentNode,ee=H.nextSibling,te=n,le=s.group,je.dragged=H,ue={target:H,clientX:(t||e).clientX,clientY:(t||e).clientY},pe=ue.clientX-l.left,me=ue.clientY-l.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,H.style["will-change"]="all",o=function(){F("delayEnded",i,{evt:e}),je.eventCanceled?i._onDrop():(i._disableDelayedDragEvents(),!h&&i.nativeDraggable&&(H.draggable=!0),i._triggerDragStart(e,t),q({sortable:i,name:"choose",originalEvent:e}),_(H,s.chosenClass,!0))},s.ignore.split(",").forEach((function(e){T(H,e.trim(),Ve)})),O(a,"dragover",Ne),O(a,"mousemove",Ne),O(a,"touchmove",Ne),s.supportPointer?(O(a,"pointerup",i._onDrop),!this.nativeDraggable&&O(a,"pointercancel",i._onDrop)):(O(a,"mouseup",i._onDrop),O(a,"touchend",i._onDrop),O(a,"touchcancel",i._onDrop)),h&&this.nativeDraggable&&(this.options.touchStartThreshold=4,H.draggable=!0),F("delayStart",this,{evt:e}),!s.delay||s.delayOnTouchOnly&&!t||this.nativeDraggable&&(d||u))o();else{if(je.eventCanceled)return void this._onDrop();s.supportPointer?(O(a,"pointerup",i._disableDelayedDrag),O(a,"pointercancel",i._disableDelayedDrag)):(O(a,"mouseup",i._disableDelayedDrag),O(a,"touchend",i._disableDelayedDrag),O(a,"touchcancel",i._disableDelayedDrag)),O(a,"mousemove",i._delayedDragTouchMoveHandler),O(a,"touchmove",i._delayedDragTouchMoveHandler),s.supportPointer&&O(a,"pointermove",i._delayedDragTouchMoveHandler),i._dragStartTimer=setTimeout(o,s.delay)}}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){H&&Ve(H),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;v(e,"mouseup",this._disableDelayedDrag),v(e,"touchend",this._disableDelayedDrag),v(e,"touchcancel",this._disableDelayedDrag),v(e,"pointerup",this._disableDelayedDrag),v(e,"pointercancel",this._disableDelayedDrag),v(e,"mousemove",this._delayedDragTouchMoveHandler),v(e,"touchmove",this._delayedDragTouchMoveHandler),v(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||"touch"==e.pointerType&&e,!this.nativeDraggable||t?this.options.supportPointer?O(document,"pointermove",this._onTouchMove):O(document,t?"touchmove":"mousemove",this._onTouchMove):(O(H,"dragend",this),O(J,"dragstart",this._onDragStart));try{document.selection?We((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(e){}},_dragStarted:function(e,t){if(xe=!1,J&&H){F("dragStarted",this,{evt:t}),this.nativeDraggable&&O(document,"dragover",Le);var n=this.options;!e&&_(H,n.dragClass,!1),_(H,n.ghostClass,!0),je.active=this,e&&this._appendGhost(),q({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(de){this._lastX=de.clientX,this._lastY=de.clientY,Re();for(var e=document.elementFromPoint(de.clientX,de.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(de.clientX,de.clientY))!==t;)t=e;if(H.parentNode[B]._isOutsideThisEl(e),t)do{if(t[B]){if(t[B]._onDragOver({clientX:de.clientX,clientY:de.clientY,target:e,rootEl:t})&&!this.options.dragoverBubble)break}e=t}while(t=y(t));ze()}},_onTouchMove:function(e){if(ue){var t=this.options,n=t.fallbackTolerance,o=t.fallbackOffset,i=e.touches?e.touches[0]:e,r=K&&C(K,!0),s=K&&r&&r.a,a=K&&r&&r.d,l=Ae&&ye&&D(ye),c=(i.clientX-ue.clientX+o.x)/(s||1)+(l?l[0]-Ce[0]:0)/(s||1),u=(i.clientY-ue.clientY+o.y)/(a||1)+(l?l[1]-Ce[1]:0)/(a||1);if(!je.active&&!xe){if(n&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))i.right+r||e.clientY>o.bottom&&e.clientX>o.left:e.clientY>i.bottom+r||e.clientX>o.right&&e.clientY>o.top}(e,r,this)&&!g.animated){if(g===H)return Z(!1);if(g&&s===e.target&&(a=g),a&&(n=P(a)),!1!==Be(J,s,H,t,a,n,e,!!a))return V(),g&&g.nextSibling?s.insertBefore(H,g.nextSibling):s.appendChild(H),G=s,X(),Z(!0)}else if(g&&function(e,t,n){var o=P(Q(n.el,0,n.options,!0)),i=j(n.el,n.options,K),r=10;return t?e.clientXu+c*r/2:ld-be)return-ve}else if(l>u+c*(1-i)/2&&ld-c*r/2))return l>u+c/2?1:-1;return 0}(e,a,n,r,S?1:l.swapThreshold,null==l.invertedSwapThreshold?l.swapThreshold:l.invertedSwapThreshold,ke,Oe===a),0!==v){var D=M(H);do{D-=v,y=G.children[D]}while(y&&("none"===k(y,"display")||y===K))}if(0===v||y===a)return Z(!1);Oe=a,ve=v;var I=a.nextElementSibling,R=!1,z=Be(J,s,H,t,a,n,e,R=1===v);if(!1!==z)return 1!==z&&-1!==z||(R=1===z),Te=!0,setTimeout(Ze,30),V(),R&&!I?s.appendChild(H):a.parentNode.insertBefore(H,R?I:a),T&&N(T,0,$-T.scrollTop),G=H.parentNode,void 0===b||ke||(be=Math.abs(b-P(a)[C])),X(),Z(!0)}if(s.contains(H))return Z(!1)}return!1}function L(l,c){F(l,p,i({evt:e,isOwner:d,axis:r?"vertical":"horizontal",revert:o,dragRect:t,targetRect:n,canSort:h,fromSortable:f,target:a,completed:Z,onMove:function(n,o){return Be(J,s,H,t,n,P(n),e,o)},changed:X},c))}function V(){L("dragOverAnimationCapture"),p.captureAnimationState(),p!==f&&f.captureAnimationState()}function Z(t){return L("dragOverCompleted",{insertion:t}),t&&(d?u._hideClone():u._showClone(p),p!==f&&(_(H,ce?ce.options.ghostClass:u.options.ghostClass,!1),_(H,l.ghostClass,!0)),ce!==p&&p!==je.active?ce=p:p===je.active&&ce&&(ce=null),f===p&&(p._ignoreWhileAnimating=a),p.animateAll((function(){L("dragOverAnimationComplete"),p._ignoreWhileAnimating=null})),p!==f&&(f.animateAll(),f._ignoreWhileAnimating=null)),(a===H&&!H.animated||a===s&&!a.animated)&&(Oe=null),l.dragoverBubble||e.rootEl||a===document||(H.parentNode[B]._isOutsideThisEl(e.target),!t&&Ne(e)),!l.dragoverBubble&&e.stopPropagation&&e.stopPropagation(),m=!0}function X(){re=M(H),ae=M(H,l.draggable),q({sortable:p,name:"change",toEl:s,newIndex:re,newDraggableIndex:ae,originalEvent:e})}},_ignoreWhileAnimating:null,_offMoveEvents:function(){v(document,"mousemove",this._onTouchMove),v(document,"touchmove",this._onTouchMove),v(document,"pointermove",this._onTouchMove),v(document,"dragover",Ne),v(document,"mousemove",Ne),v(document,"touchmove",Ne)},_offUpEvents:function(){var e=this.el.ownerDocument;v(e,"mouseup",this._onDrop),v(e,"touchend",this._onDrop),v(e,"pointerup",this._onDrop),v(e,"pointercancel",this._onDrop),v(e,"touchcancel",this._onDrop),v(document,"selectstart",this)},_onDrop:function(e){var t=this.el,n=this.options;re=M(H),ae=M(H,n.draggable),F("drop",this,{evt:e}),G=H&&H.parentNode,re=M(H),ae=M(H,n.draggable),je.eventCanceled||(xe=!1,ke=!1,_e=!1,clearInterval(this._loopId),clearTimeout(this._dragStartTimer),Ue(this.cloneId),Ue(this._dragStartId),this.nativeDraggable&&(v(document,"drop",this),v(t,"dragstart",this._onDragStart)),this._offMoveEvents(),this._offUpEvents(),f&&k(document.body,"user-select",""),k(H,"transform",""),e&&(ge&&(e.cancelable&&e.preventDefault(),!n.dropBubble&&e.stopPropagation()),K&&K.parentNode&&K.parentNode.removeChild(K),(J===G||ce&&"clone"!==ce.lastPutMode)&&ne&&ne.parentNode&&ne.parentNode.removeChild(ne),H&&(this.nativeDraggable&&v(H,"dragend",this),Ve(H),H.style["will-change"]="",ge&&!xe&&_(H,ce?ce.options.ghostClass:this.options.ghostClass,!1),_(H,this.options.chosenClass,!1),q({sortable:this,name:"unchoose",toEl:G,newIndex:null,newDraggableIndex:null,originalEvent:e}),J!==G?(re>=0&&(q({rootEl:G,name:"add",toEl:G,fromEl:J,originalEvent:e}),q({sortable:this,name:"remove",toEl:G,originalEvent:e}),q({rootEl:G,name:"sort",toEl:G,fromEl:J,originalEvent:e}),q({sortable:this,name:"sort",toEl:G,originalEvent:e})),ce&&ce.save()):re!==ie&&re>=0&&(q({sortable:this,name:"update",toEl:G,originalEvent:e}),q({sortable:this,name:"sort",toEl:G,originalEvent:e})),je.active&&(null!=re&&-1!==re||(re=ie,ae=se),q({sortable:this,name:"end",toEl:G,originalEvent:e}),this.save())))),this._nulling()},_nulling:function(){F("nulling",this),J=H=G=K=ee=ne=te=oe=ue=de=ge=re=ae=ie=se=Oe=ve=ce=le=je.dragged=je.ghost=je.clone=je.active=null,$e.forEach((function(e){e.checked=!0})),$e.length=he=fe=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":H&&(this._onDragOver(e),function(e){e.dataTransfer&&(e.dataTransfer.dropEffect="move");e.cancelable&&e.preventDefault()}(e));break;case"selectstart":e.preventDefault()}},toArray:function(){for(var e,t=[],n=this.el.children,o=0,i=n.length,r=this.options;o{t.read=function(e,t,n,o,i){var r,s,a=8*i-o-1,l=(1<>1,u=-7,d=n?i-1:0,h=n?-1:1,f=e[t+d];for(d+=h,r=f&(1<<-u)-1,f>>=-u,u+=a;u>0;r=256*r+e[t+d],d+=h,u-=8);for(s=r&(1<<-u)-1,r>>=-u,u+=o;u>0;s=256*s+e[t+d],d+=h,u-=8);if(0===r)r=1-c;else{if(r===l)return s?NaN:1/0*(f?-1:1);s+=Math.pow(2,o),r-=c}return(f?-1:1)*s*Math.pow(2,r-o)},t.write=function(e,t,n,o,i,r){var s,a,l,c=8*r-i-1,u=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=o?0:r-1,p=o?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=u):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+d>=1?h/l:h*Math.pow(2,1-d))*l>=2&&(s++,l/=2),s+d>=u?(a=0,s=u):s+d>=1?(a=(t*l-1)*Math.pow(2,i),s+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,i),s=0));i>=8;e[n+f]=255&a,f+=p,a/=256,i-=8);for(s=s<0;e[n+f]=255&s,f+=p,s/=256,c-=8);e[n+f-p]|=128*m}},307:(e,t,n)=>{n(6272),n(6615),window.Vue=n(9726).default},378:(e,t,n)=>{n(95)},1093:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(6314),i=n.n(o)()((function(e){return e[1]}));i.push([e.id,'/*!\n * TOAST UI ImageEditor\n * @version 3.15.3\n * @license MIT\n */body>textarea{position:fixed!important}.tui-image-editor-container{background-color:#282828;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;letter-spacing:.3px;margin:0;min-height:300px;overflow:hidden;padding:0;position:relative}.tui-image-editor-container div,.tui-image-editor-container input,.tui-image-editor-container label,.tui-image-editor-container li,.tui-image-editor-container ul{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;-ms-user-select:none;-moz-user-select:-moz-none;-webkit-user-select:none;user-select:none}.tui-image-editor-container .tui-image-editor-header{background-color:#151515;min-width:533px;position:absolute;top:0;width:100%}.tui-image-editor-container .tui-image-editor-controls-buttons,.tui-image-editor-container .tui-image-editor-header-buttons{float:right;margin:8px}.tui-image-editor-container .tui-image-editor-controls-logo,.tui-image-editor-container .tui-image-editor-header-logo{float:left;padding:17px;width:30%}.tui-image-editor-container .tui-image-editor-controls-buttons,.tui-image-editor-container .tui-image-editor-controls-logo{display:none;height:100%;width:270px}.tui-image-editor-container .tui-image-editor-controls-buttons button,.tui-image-editor-container .tui-image-editor-controls-buttons div,.tui-image-editor-container .tui-image-editor-header-buttons button,.tui-image-editor-container .tui-image-editor-header-buttons div{border:1px solid #ddd;border-radius:20px;cursor:pointer;display:inline-block;font-family:Noto Sans,sans-serif;font-size:12px;font-weight:700;height:40px;letter-spacing:.3px;line-height:40px;outline:none;padding:0;position:relative;text-align:center;vertical-align:middle;width:120px}.tui-image-editor-container .tui-image-editor-download-btn{background-color:#fdba3b;border-color:#fdba3b;color:#fff}.tui-image-editor-container .tui-image-editor-load-btn{bottom:0;cursor:pointer;display:inline-block;left:0;opacity:0;position:absolute;right:0;top:0;width:100%}.tui-image-editor-container .tui-image-editor-main-container{bottom:64px;position:absolute;top:0;width:100%}.tui-image-editor-container .tui-image-editor-main{bottom:0;left:0;position:absolute;right:0;text-align:center;top:64px}.tui-image-editor-container .tui-image-editor-wrap{bottom:0;overflow:auto;width:100%}.tui-image-editor-container .tui-image-editor-wrap .tui-image-editor-size-wrap{display:table;height:100%;width:100%}.tui-image-editor-container .tui-image-editor-wrap .tui-image-editor-size-wrap .tui-image-editor-align-wrap{display:table-cell;vertical-align:middle}.tui-image-editor-container .tui-image-editor{display:inline-block;position:relative}.tui-image-editor-container .tui-image-editor-help-menu,.tui-image-editor-container .tui-image-editor-menu{display:table-cell;list-style:none;margin:0 auto;padding:0;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}.tui-image-editor-container .tui-image-editor-help-menu>.tui-image-editor-item,.tui-image-editor-container .tui-image-editor-menu>.tui-image-editor-item{border-radius:2px;cursor:pointer;display:inline-block;margin:0 4px;padding:7px 8px 3px;position:relative}.tui-image-editor-container .tui-image-editor-help-menu>.tui-image-editor-item[tooltip-content]:hover:before,.tui-image-editor-container .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:hover:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #2f2f2f;content:"";display:inline-block;height:0;left:13px;margin:0 auto;position:absolute;top:-2px;width:0}.tui-image-editor-container .tui-image-editor-help-menu>.tui-image-editor-item[tooltip-content]:hover:after,.tui-image-editor-container .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:hover:after{background-color:#2f2f2f;border-radius:3px;color:#fff;content:attr(tooltip-content);display:inline-block;font-size:11px;font-weight:lighter;left:0;max-height:23px;min-width:24px;padding:5px 8px;position:absolute;top:-25px}.tui-image-editor-container .tui-image-editor-help-menu>.tui-image-editor-item.active,.tui-image-editor-container .tui-image-editor-menu>.tui-image-editor-item.active{background-color:#fff;-webkit-transition:all .3s ease;transition:all .3s ease}.tui-image-editor-container .tui-image-editor-wrap{position:absolute}.tui-image-editor-container .tui-image-editor-grid-visual{border:1px solid hsla(0,0%,100%,.7);display:none;height:100%;position:absolute;width:100%}.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-flip .tui-image-editor,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-rotate .tui-image-editor{-webkit-transition:none;transition:none}.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-flip .tui-image-editor-grid-visual,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-resize .tui-image-editor-grid-visual,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-rotate .tui-image-editor-grid-visual{display:block}.tui-image-editor-container .tui-image-editor-grid-visual table{border-collapse:collapse;height:100%;width:100%}.tui-image-editor-container .tui-image-editor-grid-visual table td{border:1px solid hsla(0,0%,100%,.3)}.tui-image-editor-container .tui-image-editor-grid-visual table td.dot:before{background-color:#fff;border:0;border-radius:100%;-webkit-box-shadow:0 0 1px 0 rgba(0,0,0,.3);box-shadow:0 0 1px 0 rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;content:"";height:10px;position:absolute;width:10px}.tui-image-editor-container .tui-image-editor-grid-visual table td.dot.left-top:before{left:-5px;top:-5px}.tui-image-editor-container .tui-image-editor-grid-visual table td.dot.right-top:before{right:-5px;top:-5px}.tui-image-editor-container .tui-image-editor-grid-visual table td.dot.left-bottom:before{bottom:-5px;left:-5px}.tui-image-editor-container .tui-image-editor-grid-visual table td.dot.right-bottom:before{bottom:-5px;right:-5px}.tui-image-editor-container .tui-image-editor-submenu{bottom:0;display:none;height:150px;position:absolute;white-space:nowrap;width:100%;z-index:2}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-button:hover svg>use.active{display:block}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item li{display:inline-block;vertical-align:top}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-image-editor-newline{display:block;margin-top:0}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-image-editor-button{cursor:pointer;display:inline-block;font-size:11px;font-weight:400;margin:0 9px;position:relative}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-image-editor-button.preset{margin:0 9px 20px 5px}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item label>span{cursor:pointer;display:inline-block;font-family:Noto Sans,sans-serif;font-size:11px;padding-top:5px}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-image-editor-button.apply label,.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-image-editor-button.cancel label{vertical-align:7px}.tui-image-editor-container .tui-image-editor-submenu>div{display:none;vertical-align:bottom}.tui-image-editor-container .tui-image-editor-submenu .tui-image-editor-submenu-style{bottom:0;display:block;left:0;opacity:.95;position:absolute;right:0;top:0;z-index:-1}.tui-image-editor-container .tui-image-editor-partition>div{border-left:1px solid #3c3c3c;height:52px;margin:0 8px;width:1px}.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-filter .tui-image-editor-partition>div{height:108px;margin:0 29px 0 0}.tui-image-editor-container .tui-image-editor-submenu-align{margin-right:30px;text-align:left}.tui-image-editor-container .tui-image-editor-submenu-align label>span{white-space:nowrap;width:55px}.tui-image-editor-container .tui-image-editor-submenu-align:first-child{margin-right:0}.tui-image-editor-container .tui-image-editor-submenu-align:first-child label>span{width:70px}.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-crop .tui-image-editor-submenu>div.tui-image-editor-menu-crop,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-draw .tui-image-editor-submenu>div.tui-image-editor-menu-draw,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-filter .tui-image-editor-submenu>div.tui-image-editor-menu-filter,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-flip .tui-image-editor-submenu>div.tui-image-editor-menu-flip,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-icon .tui-image-editor-submenu>div.tui-image-editor-menu-icon,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-mask .tui-image-editor-submenu>div.tui-image-editor-menu-mask,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-resize .tui-image-editor-submenu>div.tui-image-editor-menu-resize,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-rotate .tui-image-editor-submenu>div.tui-image-editor-menu-rotate,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-shape .tui-image-editor-submenu>div.tui-image-editor-menu-shape,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-text .tui-image-editor-submenu>div.tui-image-editor-menu-text,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-zoom .tui-image-editor-submenu>div.tui-image-editor-menu-zoom{display:table-cell}.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-crop .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-draw .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-filter .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-flip .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-icon .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-mask .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-resize .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-rotate .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-shape .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-text .tui-image-editor-submenu,.tui-image-editor-container .tui-image-editor-main.tui-image-editor-menu-zoom .tui-image-editor-submenu{display:table}.tui-image-editor-container .tui-image-editor-help-menu{background-color:hsla(0,0%,100%,.06);border-radius:20px;list-style:none;margin:0 auto;padding:0;position:absolute;text-align:center;vertical-align:middle;z-index:2}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history{background-color:#fff;-webkit-box-shadow:0 2px 6px 0 rgba(0,0,0,.15);box-shadow:0 2px 6px 0 rgba(0,0,0,.15);color:#444;cursor:auto;display:none;height:276px;padding:4px 2px;position:absolute;-webkit-transform:translateX(calc(-50% + 12px));transform:translateX(calc(-50% + 12px));width:196px}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list{height:268px;list-style:none;overflow:hidden scroll;padding:0}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item{font-size:11px;height:24px;line-height:24px}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item .tui-image-editor-history-item{cursor:pointer;height:24px;position:relative}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item .tui-image-editor-history-item svg{height:24px;width:24px}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item .tui-image-editor-history-item span{display:inline-block;height:24px;text-align:left;width:128px}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item .tui-image-editor-history-item .history-item-icon{display:inline-block;height:24px;left:6px;position:absolute;top:6px;width:24px}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item .tui-image-editor-history-item .history-item-checkbox{display:none;height:24px;position:absolute;right:-6px;top:5px;width:24px}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item.selected-item{background-color:hsla(0,0%,47%,.12)}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item.selected-item .history-item-checkbox{display:inline-block}.tui-image-editor-container .tui-image-editor-help-menu .tie-panel-history .history-list .history-item.disabled-item{color:#333;opacity:.3}.tui-image-editor-container .tui-image-editor-help-menu .opened .tie-panel-history{display:block}.tui-image-editor-container .tui-image-editor-help-menu .opened .tie-panel-history:before{content:"";display:inline-block;height:0;margin:0 auto;position:absolute;width:0}.tui-image-editor-container .filter-color-item{display:inline-block}.tui-image-editor-container .filter-color-item .tui-image-editor-checkbox{display:block}.tui-image-editor-container .tui-image-editor-checkbox-wrap{display:inline-block!important;text-align:left}.tui-image-editor-container .tui-image-editor-checkbox-wrap.fixed-width{white-space:normal;width:187px}.tui-image-editor-container .tui-image-editor-checkbox{display:inline-block;margin:1px 0}.tui-image-editor-container .tui-image-editor-checkbox input{height:14px;opacity:0;width:14px}.tui-image-editor-container .tui-image-editor-checkbox>label>span{color:#fff;height:14px;position:relative}.tui-image-editor-container .tui-image-editor-checkbox input+label:before,.tui-image-editor-container .tui-image-editor-checkbox>label>span:before{background-color:#fff;border:0;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;content:"";display:inline-block;font-size:11px;height:14px;left:-19px;margin:0;padding-top:1px;position:absolute;text-align:center;top:6px;width:14px}.tui-image-editor-container .tui-image-editor-checkbox input[type=checkbox]:checked+span:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAMBJREFUKBWVkjEOwjAMRe2WgZW7IIHEDdhghhuwcQ42rlJugAQS54Cxa5cq1QM5TUpByZfS2j9+dlJVt/tX5ZxbS4ZU9VLkQvSHKTIGRaVJYFmKrBbTCJxE2UgCdDzMZDkHrOV6b95V0US6UmgKodujEZbJg0B0ZgEModO5lrY1TMQf1TpyJGBEjD+E2NPN7ukIUDiF/BfEXgRiGEw8NgkffYGYwCi808fpn/6OvfUfsDr/Vc1IfRf8sKnFVqeiVQfDu0tf/nWH9gAAAABJRU5ErkJggg==);background-size:cover}.tui-image-editor-container .tui-image-editor-selectlist-wrap{position:relative}.tui-image-editor-container .tui-image-editor-selectlist-wrap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid #cbdbdb;border-radius:0;height:28px;margin-top:4px;outline:0;padding:0 7px 0 10px;width:100%}.tui-image-editor-container .tui-image-editor-selectlist-wrap .tui-image-editor-selectlist{background-color:#fff;border:1px solid #ccc;border-top:0;display:none;padding:4px 0;position:relative;top:-1px}.tui-image-editor-container .tui-image-editor-selectlist-wrap .tui-image-editor-selectlist li{display:block;font-family:Noto Sans,sans-serif;padding:7px 10px;text-align:left}.tui-image-editor-container .tui-image-editor-selectlist-wrap .tui-image-editor-selectlist li:hover{background-color:rgba(81,92,230,.05)}.tui-image-editor-container .tui-image-editor-selectlist-wrap:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAHlJREFUKBVjYBgFOEOAEVkmPDxc89+/f6eAYjzI4kD2FyYmJrOVK1deh4kzwRggGiQBVJCELAZig8SQNYHEmEEEMrh69eo1HR0dfqCYJUickZGxf9WqVf3IakBsFBthklpaWmVA9mEQhrJhUoTp0NBQCRAmrHL4qgAAuu4cWZOZIGsAAAAASUVORK5CYII=);background-size:cover;content:"";display:inline-block;height:14px;position:absolute;right:5px;top:10px;width:14px}.tui-image-editor-container .tui-image-editor-selectlist-wrap select::-ms-expand{display:none}.tui-image-editor-container .tui-image-editor-virtual-range-bar .tui-image-editor-disabled,.tui-image-editor-container .tui-image-editor-virtual-range-pointer .tui-image-editor-disabled,.tui-image-editor-container .tui-image-editor-virtual-range-subbar .tui-image-editor-disabled{backbround-color:red}.tui-image-editor-container .tui-image-editor-range{display:inline-block;height:17px;position:relative;top:5px;width:166px}.tui-image-editor-container .tui-image-editor-virtual-range-bar{background-color:#666;height:2px;position:absolute;top:7px;width:100%}.tui-image-editor-container .tui-image-editor-virtual-range-subbar{background-color:#d1d1d1;height:100%;left:0;position:absolute;right:0}.tui-image-editor-container .tui-image-editor-virtual-range-pointer{background-color:#fff;border-radius:100%;cursor:pointer;height:12px;left:0;position:absolute;top:-5px;width:12px}.tui-image-editor-container .tui-image-editor-range-wrap{display:inline-block;margin-left:4px}.tui-image-editor-container .tui-image-editor-range-wrap.short .tui-image-editor-range{width:100px}.tui-image-editor-container .color-picker-control .tui-image-editor-range{margin-left:10px;width:108px}.tui-image-editor-container .color-picker-control .tui-image-editor-virtual-range-pointer{background-color:#333}.tui-image-editor-container .color-picker-control .tui-image-editor-virtual-range-bar{background-color:#ccc}.tui-image-editor-container .color-picker-control .tui-image-editor-virtual-range-subbar{background-color:#606060}.tui-image-editor-container .tui-image-editor-range-wrap.tui-image-editor-newline.short{margin-left:19px;margin-top:-2px}.tui-image-editor-container .tui-image-editor-range-wrap.tui-image-editor-newline.short label{color:#8e8e8e;font-weight:400}.tui-image-editor-container .tui-image-editor-range-wrap label{color:#fff;font-size:11px;margin-right:7px;vertical-align:baseline}.tui-image-editor-container .tui-image-editor-range-value{background-color:#1c1c1c;border:1px solid #d5d5d5;border-radius:2px;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:default;font-family:Noto Sans,sans-serif;font-weight:lighter;height:24px;margin-left:4px;margin-top:15px;outline:none;text-align:center;vertical-align:baseline;width:40px}.tui-image-editor-container .tui-image-editor-controls{background-color:#151515;bottom:0;display:table;height:64px;position:absolute;width:100%;z-index:2}.tui-image-editor-container .tui-image-editor-icpartition{background-color:#444;display:inline-block;height:24px;width:1px}.tui-image-editor-container.left .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:before{border-bottom:7px solid transparent;border-right:7px solid #2f2f2f;border-top:7px solid transparent;left:28px;top:11px}.tui-image-editor-container.left .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:after{left:42px;top:7px;white-space:nowrap}.tui-image-editor-container.left .tui-image-editor-submenu{height:100%;left:0;width:248px}.tui-image-editor-container.left .tui-image-editor-main-container{height:100%;left:64px;width:calc(100% - 64px)}.tui-image-editor-container.left .tui-image-editor-controls{display:table;height:100%;width:64px}.tui-image-editor-container.left .tui-image-editor-menu,.tui-image-editor-container.right .tui-image-editor-menu{white-space:inherit}.tui-image-editor-container.left .tui-image-editor-submenu,.tui-image-editor-container.right .tui-image-editor-submenu{white-space:normal}.tui-image-editor-container.left .tui-image-editor-submenu>div,.tui-image-editor-container.right .tui-image-editor-submenu>div{vertical-align:middle}.tui-image-editor-container.left .tui-image-editor-controls li,.tui-image-editor-container.right .tui-image-editor-controls li{display:inline-block;margin:4px auto}.tui-image-editor-container.left .tui-image-editor-icpartition,.tui-image-editor-container.right .tui-image-editor-icpartition{height:1px;position:relative;top:-7px;width:24px}.tui-image-editor-container.left .tui-image-editor-submenu .tui-image-editor-partition,.tui-image-editor-container.right .tui-image-editor-submenu .tui-image-editor-partition{display:block;margin:auto;width:75%}.tui-image-editor-container.left .tui-image-editor-submenu .tui-image-editor-partition>div,.tui-image-editor-container.right .tui-image-editor-submenu .tui-image-editor-partition>div{border-bottom:1px solid #3c3c3c;border-left:0;height:10px;margin:0;width:100%}.tui-image-editor-container.left .tui-image-editor-submenu .tui-image-editor-submenu-align,.tui-image-editor-container.right .tui-image-editor-submenu .tui-image-editor-submenu-align{margin-right:0}.tui-image-editor-container.left .tui-image-editor-submenu .tui-image-editor-submenu-item li,.tui-image-editor-container.right .tui-image-editor-submenu .tui-image-editor-submenu-item li{margin-top:15px}.tui-image-editor-container.left .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-colorpicker-clearfix li,.tui-image-editor-container.right .tui-image-editor-submenu .tui-image-editor-submenu-item .tui-colorpicker-clearfix li{margin-top:0}.tui-image-editor-container.left .tui-image-editor-checkbox-wrap.fixed-width,.tui-image-editor-container.right .tui-image-editor-checkbox-wrap.fixed-width{white-space:normal;width:182px}.tui-image-editor-container.left .tui-image-editor-range-wrap.tui-image-editor-newline label.range,.tui-image-editor-container.right .tui-image-editor-range-wrap.tui-image-editor-newline label.range{display:block;margin:auto;text-align:left;width:75%}.tui-image-editor-container.left .tui-image-editor-range,.tui-image-editor-container.right .tui-image-editor-range{width:136px}.tui-image-editor-container.right .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:before{border-bottom:7px solid transparent;border-left:7px solid #2f2f2f;border-top:7px solid transparent;left:-3px;top:11px}.tui-image-editor-container.right .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:after{left:unset;right:43px;top:7px;white-space:nowrap}.tui-image-editor-container.right .tui-image-editor-submenu{height:100%;right:0;width:248px}.tui-image-editor-container.right .tui-image-editor-main-container{height:100%;right:64px;width:calc(100% - 64px)}.tui-image-editor-container.right .tui-image-editor-controls{display:table;height:100%;right:0;width:64px}.tui-image-editor-container.bottom .tui-image-editor-submenu .tui-image-editor-partition.only-left-right,.tui-image-editor-container.top .tui-image-editor-submenu .tui-image-editor-partition.only-left-right{display:none}.tui-image-editor-container.bottom .tui-image-editor-submenu>div{padding-bottom:24px}.tui-image-editor-container.top .color-picker-control .triangle{border-bottom:8px solid #fff;border-left:7px solid transparent;border-right:7px solid transparent;border-top:0;top:-8px}.tui-image-editor-container.top .tui-image-editor-size-wrap{height:100%}.tui-image-editor-container.top .tui-image-editor-main-container{bottom:0}.tui-image-editor-container.top .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:before{border-bottom:7px solid #2f2f2f;border-top:0;left:13px;top:33px}.tui-image-editor-container.top .tui-image-editor-menu>.tui-image-editor-item[tooltip-content]:after{top:38px}.tui-image-editor-container.top .tui-image-editor-submenu{bottom:auto;top:0}.tui-image-editor-container.top .tui-image-editor-submenu>div{padding-top:24px;vertical-align:top}.tui-image-editor-container.top .tui-image-editor-controls-buttons,.tui-image-editor-container.top .tui-image-editor-controls-logo{display:table-cell}.tui-image-editor-container.top .tui-image-editor-main{height:calc(100% - 64px);top:64px}.tui-image-editor-container.top .tui-image-editor-controls{bottom:inherit;top:0}.tui-image-editor-container .tui-image-editor-help-menu.top{height:40px;left:50%;top:8px;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap;width:506px}.tui-image-editor-container .tui-image-editor-help-menu.top .tie-panel-history{top:45px}.tui-image-editor-container .tui-image-editor-help-menu.top .opened .tie-panel-history:before{border-bottom:8px solid #fff;border-left:8px solid transparent;border-right:8px solid transparent;left:90px;top:-8px}.tui-image-editor-container .tui-image-editor-help-menu.top>.tui-image-editor-item[tooltip-content]:before{border:7px solid transparent;border-bottom:7px solid #2f2f2f;border-top:none;left:13px;top:35px}.tui-image-editor-container .tui-image-editor-help-menu.top>.tui-image-editor-item[tooltip-content]:after{left:-4px;top:41px;white-space:nowrap}.tui-image-editor-container .tui-image-editor-help-menu.top>.tui-image-editor-item[tooltip-content].opened:after,.tui-image-editor-container .tui-image-editor-help-menu.top>.tui-image-editor-item[tooltip-content].opened:before{content:none}.tui-image-editor-container .tui-image-editor-help-menu.bottom{bottom:8px;height:40px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap;width:506px}.tui-image-editor-container .tui-image-editor-help-menu.bottom .tie-panel-history{bottom:45px}.tui-image-editor-container .tui-image-editor-help-menu.bottom .opened .tie-panel-history:before{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #fff;bottom:-8px;left:90px}.tui-image-editor-container .tui-image-editor-help-menu.bottom>.tui-image-editor-item[tooltip-content]:before{border:7px solid transparent;border-bottom:none;border-top-color:#2f2f2f;bottom:36px;left:13px;top:auto}.tui-image-editor-container .tui-image-editor-help-menu.bottom>.tui-image-editor-item[tooltip-content]:after{bottom:41px;left:-4px;top:auto;white-space:nowrap}.tui-image-editor-container .tui-image-editor-help-menu.bottom>.tui-image-editor-item[tooltip-content].opened:after,.tui-image-editor-container .tui-image-editor-help-menu.bottom>.tui-image-editor-item[tooltip-content].opened:before{content:none}.tui-image-editor-container .tui-image-editor-help-menu.left{height:506px;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:inherit;width:40px}.tui-image-editor-container .tui-image-editor-help-menu.left .tie-panel-history{left:140px;top:-4px}.tui-image-editor-container .tui-image-editor-help-menu.left .opened .tie-panel-history:before{border-bottom:8px solid transparent;border-right:8px solid #fff;border-top:8px solid transparent;left:-8px;top:14px}.tui-image-editor-container .tui-image-editor-help-menu.left .tui-image-editor-item{margin:4px auto;padding:6px 8px}.tui-image-editor-container .tui-image-editor-help-menu.left>.tui-image-editor-item[tooltip-content]:before{border:7px solid transparent;border-left:none;border-right-color:#2f2f2f;left:27px;top:11px}.tui-image-editor-container .tui-image-editor-help-menu.left>.tui-image-editor-item[tooltip-content]:after{left:40px;top:7px;white-space:nowrap}.tui-image-editor-container .tui-image-editor-help-menu.left>.tui-image-editor-item[tooltip-content].opened:after,.tui-image-editor-container .tui-image-editor-help-menu.left>.tui-image-editor-item[tooltip-content].opened:before{content:none}.tui-image-editor-container .tui-image-editor-help-menu.right{height:506px;right:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);white-space:inherit;width:40px}.tui-image-editor-container .tui-image-editor-help-menu.right .tie-panel-history{right:-30px;top:-4px}.tui-image-editor-container .tui-image-editor-help-menu.right .opened .tie-panel-history:before{border-bottom:8px solid transparent;border-left:8px solid #fff;border-top:8px solid transparent;right:-8px;top:14px}.tui-image-editor-container .tui-image-editor-help-menu.right .tui-image-editor-item{margin:4px auto;padding:6px 8px}.tui-image-editor-container .tui-image-editor-help-menu.right>.tui-image-editor-item[tooltip-content]:before{border:7px solid transparent;border-left:7px solid #2f2f2f;border-right:none;left:-6px;top:11px}.tui-image-editor-container .tui-image-editor-help-menu.right>.tui-image-editor-item[tooltip-content]:after{left:auto;right:39px;top:7px;white-space:nowrap}.tui-image-editor-container .tui-image-editor-help-menu.right>.tui-image-editor-item[tooltip-content].opened:after,.tui-image-editor-container .tui-image-editor-help-menu.right>.tui-image-editor-item[tooltip-content].opened:before{content:none}.tui-image-editor-container .tie-icon-add-button .tui-image-editor-button{min-width:42px}.tui-image-editor-container .svg_ic-helpmenu,.tui-image-editor-container .svg_ic-menu{height:24px;width:24px}.tui-image-editor-container .svg_ic-submenu{height:32px;width:32px}.tui-image-editor-container .svg_img-bi{height:26px;width:257px}.tui-image-editor-container .tui-image-editor-controls svg>use,.tui-image-editor-container .tui-image-editor-help-menu svg>use{display:none}.tui-image-editor-container .tui-image-editor-controls .enabled svg:hover>use.hover,.tui-image-editor-container .tui-image-editor-controls .normal svg:hover>use.hover,.tui-image-editor-container .tui-image-editor-help-menu .enabled svg:hover>use.hover,.tui-image-editor-container .tui-image-editor-help-menu .normal svg:hover>use.hover{display:block}.tui-image-editor-container .tui-image-editor-controls .active svg:hover>use.hover,.tui-image-editor-container .tui-image-editor-help-menu .active svg:hover>use.hover{display:none}.tui-image-editor-container .tui-image-editor-controls .active svg>use.active,.tui-image-editor-container .tui-image-editor-controls .enabled svg>use.enabled,.tui-image-editor-container .tui-image-editor-controls .on svg>use.hover,.tui-image-editor-container .tui-image-editor-controls .opened svg>use.hover,.tui-image-editor-container .tui-image-editor-controls svg>use.normal,.tui-image-editor-container .tui-image-editor-help-menu .active svg>use.active,.tui-image-editor-container .tui-image-editor-help-menu .enabled svg>use.enabled,.tui-image-editor-container .tui-image-editor-help-menu .on svg>use.hover,.tui-image-editor-container .tui-image-editor-help-menu .opened svg>use.hover,.tui-image-editor-container .tui-image-editor-help-menu svg>use.normal{display:block}.tui-image-editor-container .tui-image-editor-controls .active svg>use.normal,.tui-image-editor-container .tui-image-editor-controls .enabled svg>use.normal,.tui-image-editor-container .tui-image-editor-help-menu .active svg>use.normal,.tui-image-editor-container .tui-image-editor-help-menu .enabled svg>use.normal{display:none}.tui-image-editor-container .tui-image-editor-controls .help svg>use.disabled,.tui-image-editor-container .tui-image-editor-controls .help.enabled svg>use.normal,.tui-image-editor-container .tui-image-editor-help-menu .help svg>use.disabled,.tui-image-editor-container .tui-image-editor-help-menu .help.enabled svg>use.normal{display:block}.tui-image-editor-container .tui-image-editor-controls .help.enabled svg>use.disabled,.tui-image-editor-container .tui-image-editor-help-menu .help.enabled svg>use.disabled{display:none}.tui-image-editor-container .tui-image-editor-controls:hover{z-index:3}.tui-image-editor-container div.tui-colorpicker-clearfix{background-color:#f5f5f5;border:1px solid #d5d5d5;border-radius:2px;height:28px;margin-top:6px;padding:4px 7px;width:159px}.tui-image-editor-container .tui-colorpicker-palette-hex{background-color:#f5f5f5;border:0;font-family:Noto Sans,sans-serif;font-size:11px;margin-top:2px;width:114px}.tui-image-editor-container .tui-colorpicker-palette-hex[value=""]+.tui-colorpicker-palette-preview,.tui-image-editor-container .tui-colorpicker-palette-hex[value="#ffffff"]+.tui-colorpicker-palette-preview{border:1px solid #ccc}.tui-image-editor-container .tui-colorpicker-palette-hex[value=""]+.tui-colorpicker-palette-preview{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAdBJREFUWAnFl0FuwjAQRZ0ukiugHqFSOQNdseuKW3ALzkA4BateICvUGyCxrtRFd4WuunH/TzykaYJrnLEYaTJJsP2+x8GZZCbQrLU5mj7Bn+EP8HvnCObd+R7xBV5lWfaNON4AnsA38E94qLEt+0yiFaBzAV/Bv+Cxxr4co7hKCDpw1q9wLeNYYdlAwyn8TYt8Hme3+8D5ozcTaMCZ68PXa2tnM2sbEcOZAJhrrpl2DAcTOGNjZPSfCdzkw6JrfbiMv+osBe4y9WOedhm4jZfhbENWuxS44H9Wz/xw4WzqLOAqh1+zycgAwzEMzr5k5gaHOa9ULBwuuDkFlHI1Kl4PJ66kgIpnoywOTmRFAYcbwYk9UMApWkD8zAV5ihcwHk4Rx7gl0IFTQL0EFc+CTQ9OZHWH3YhlVJiVpTHbrTGLhTHLZVgff6s9lyBsI9KduSS83oj+34rTwJutmBmCnMsvozRwZqB5GTkBw6/jdPDu69iJ6BYk6eCcfbcgcQIK/MByaaiMqm8rHcjol2TnpWDhyAKSGdA3FrxtJUToX0ODqatetfGE+8tyEUOV8GY5dGRwLP/MBS4RHQr4bT7NRAQjlcOTfZxmv2G+c4hI8nn+Ax5PG/zhI393AAAAAElFTkSuQmCC);background-size:cover}.tui-image-editor-container .tui-colorpicker-palette-preview{border:0;border-radius:100%;float:left;height:17px;width:17px}.tui-image-editor-container .color-picker-control{background-color:#fff;border-radius:2px;-webkit-box-shadow:0 3px 22px 6px rgba(0,0,0,.15);box-shadow:0 3px 22px 6px rgba(0,0,0,.15);display:none;padding:16px;position:absolute;width:192px;z-index:99}.tui-image-editor-container .color-picker-control .tui-colorpicker-palette-toggle-slider{display:none}.tui-image-editor-container .color-picker-control .tui-colorpicker-palette-button{background-size:cover;border:0;border-radius:100%;font-size:1px;margin:2px}.tui-image-editor-container .color-picker-control .tui-colorpicker-palette-button[title=""],.tui-image-editor-container .color-picker-control .tui-colorpicker-palette-button[title="#ffffff"]{border:1px solid #ccc}.tui-image-editor-container .color-picker-control .triangle{border-left:7px solid transparent;border-right:7px solid transparent;border-top:8px solid #fff;bottom:-8px;height:0;left:84px;position:absolute;width:0}.tui-image-editor-container .color-picker-control .tui-colorpicker-container,.tui-image-editor-container .color-picker-control .tui-colorpicker-palette-container,.tui-image-editor-container .color-picker-control .tui-colorpicker-palette-container ul{height:auto;width:100%}.tui-image-editor-container .filter-color-item .color-picker-control label{font-color:#333;font-weight:400;margin-right:7pxleft}.tui-image-editor-container .filter-color-item .tui-image-editor-checkbox{margin-top:0}.tui-image-editor-container .filter-color-item .tui-image-editor-checkbox input+label:before,.tui-image-editor-container .filter-color-item .tui-image-editor-checkbox>label:before{left:-16px}.tui-image-editor-container .color-picker{height:auto;width:100%}.tui-image-editor-container .color-picker-value{border:0;border-radius:100%;height:32px;margin:auto auto 1px;width:32px}.tui-image-editor-container .color-picker-value.transparent{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAdBJREFUWAnFl0FuwjAQRZ0ukiugHqFSOQNdseuKW3ALzkA4BateICvUGyCxrtRFd4WuunH/TzykaYJrnLEYaTJJsP2+x8GZZCbQrLU5mj7Bn+EP8HvnCObd+R7xBV5lWfaNON4AnsA38E94qLEt+0yiFaBzAV/Bv+Cxxr4co7hKCDpw1q9wLeNYYdlAwyn8TYt8Hme3+8D5ozcTaMCZ68PXa2tnM2sbEcOZAJhrrpl2DAcTOGNjZPSfCdzkw6JrfbiMv+osBe4y9WOedhm4jZfhbENWuxS44H9Wz/xw4WzqLOAqh1+zycgAwzEMzr5k5gaHOa9ULBwuuDkFlHI1Kl4PJ66kgIpnoywOTmRFAYcbwYk9UMApWkD8zAV5ihcwHk4Rx7gl0IFTQL0EFc+CTQ9OZHWH3YhlVJiVpTHbrTGLhTHLZVgff6s9lyBsI9KduSS83oj+34rTwJutmBmCnMsvozRwZqB5GTkBw6/jdPDu69iJ6BYk6eCcfbcgcQIK/MByaaiMqm8rHcjol2TnpWDhyAKSGdA3FrxtJUToX0ODqatetfGE+8tyEUOV8GY5dGRwLP/MBS4RHQr4bT7NRAQjlcOTfZxmv2G+c4hI8nn+Ax5PG/zhI393AAAAAElFTkSuQmCC);background-size:cover;border:1px solid #cbcbcb}.tui-image-editor-container .color-picker-value+label{color:#fff}.tui-image-editor-container .tui-image-editor-submenu svg>use{display:none}.tie-icon-add-button.icon-arrow .tui-image-editor-button[data-icontype=icon-arrow] svg>use.active,.tie-icon-add-button.icon-arrow-2 .tui-image-editor-button[data-icontype=icon-arrow-2] svg>use.active,.tie-icon-add-button.icon-arrow-3 .tui-image-editor-button[data-icontype=icon-arrow-3] svg>use.active,.tie-icon-add-button.icon-bubble .tui-image-editor-button[data-icontype=icon-bubble] svg>use.active,.tie-icon-add-button.icon-heart .tui-image-editor-button[data-icontype=icon-heart] svg>use.active,.tie-icon-add-button.icon-location .tui-image-editor-button[data-icontype=icon-location] svg>use.active,.tie-icon-add-button.icon-polygon .tui-image-editor-button[data-icontype=icon-polygon] svg>use.active,.tie-icon-add-button.icon-star .tui-image-editor-button[data-icontype=icon-star] svg>use.active,.tie-icon-add-button.icon-star-2 .tui-image-editor-button[data-icontype=icon-star-2] svg>use.active,.tui-image-editor-container .tui-image-editor-submenu svg>use.normal{display:block}.tie-draw-line-select-button.free .tui-image-editor-button.free svg>use.normal,.tie-draw-line-select-button.line .tui-image-editor-button.line svg>use.normal{display:none}.tie-draw-line-select-button.free .tui-image-editor-button.free svg>use.active,.tie-draw-line-select-button.line .tui-image-editor-button.line svg>use.active{display:block}.tie-flip-button.flipX .tui-image-editor-button.flipX svg>use.normal,.tie-flip-button.flipY .tui-image-editor-button.flipY svg>use.normal,.tie-flip-button.resetFlip .tui-image-editor-button.resetFlip svg>use.normal{display:none}.tie-flip-button.flipX .tui-image-editor-button.flipX svg>use.active,.tie-flip-button.flipY .tui-image-editor-button.flipY svg>use.active,.tie-flip-button.resetFlip .tui-image-editor-button.resetFlip svg>use.active{display:block}.tie-mask-apply.apply.active .tui-image-editor-button.apply label{color:#fff}.tie-mask-apply.apply.active .tui-image-editor-button.apply svg>use.active{display:block}.tie-crop-button .tui-image-editor-button.apply,.tie-crop-preset-button .tui-image-editor-button.apply{margin-right:24px}.tie-crop-button .tui-image-editor-button.apply.active svg>use.active,.tie-crop-button .tui-image-editor-button.preset.active svg>use.active,.tie-crop-preset-button .tui-image-editor-button.apply.active svg>use.active,.tie-crop-preset-button .tui-image-editor-button.preset.active svg>use.active{display:block}.tie-resize-button .tui-image-editor-button.apply,.tie-resize-preset-button .tui-image-editor-button.apply{margin-right:24px}.tie-resize-button .tui-image-editor-button.apply.active svg>use.active,.tie-resize-button .tui-image-editor-button.preset.active svg>use.active,.tie-resize-preset-button .tui-image-editor-button.apply.active svg>use.active,.tie-resize-preset-button .tui-image-editor-button.preset.active svg>use.active{display:block}.tie-shape-button.circle .tui-image-editor-button.circle svg>use.normal,.tie-shape-button.rect .tui-image-editor-button.rect svg>use.normal,.tie-shape-button.triangle .tui-image-editor-button.triangle svg>use.normal{display:none}.tie-shape-button.circle .tui-image-editor-button.circle svg>use.active,.tie-shape-button.rect .tui-image-editor-button.rect svg>use.active,.tie-shape-button.triangle .tui-image-editor-button.triangle svg>use.active,.tie-text-align-button.tie-text-align-center .tui-image-editor-button.center svg>use.active,.tie-text-align-button.tie-text-align-left .tui-image-editor-button.left svg>use.active,.tie-text-align-button.tie-text-align-right .tui-image-editor-button.right svg>use.active,.tie-text-effect-button .tui-image-editor-button.active svg>use.active{display:block}.tie-icon-image-file,.tie-mask-image-file{border:1px solid green;cursor:inherit;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.tie-zoom-button.flipX .tui-image-editor-button.flipX svg>use.normal,.tie-zoom-button.flipY .tui-image-editor-button.flipY svg>use.normal,.tie-zoom-button.resetFlip .tui-image-editor-button.resetFlip svg>use.normal{display:none}.tie-zoom-button.flipX .tui-image-editor-button.flipX svg>use.active,.tie-zoom-button.flipY .tui-image-editor-button.flipY svg>use.active,.tie-zoom-button.resetFlip .tui-image-editor-button.resetFlip svg>use.active{display:block}.tui-image-editor-container.top.tui-image-editor-top-optimization .tui-image-editor-controls ul{text-align:right}.tui-image-editor-container.top.tui-image-editor-top-optimization .tui-image-editor-controls-logo{display:none}',""]);const r=i},1145:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(6314),i=n.n(o)()((function(e){return e[1]}));i.push([e.id,'/*!\n * TOAST UI Color Picker\n * @version 2.2.8\n * @author NHN Cloud FE Development Team \n * @license MIT\n */.tui-colorpicker-clearfix{zoom:1}.tui-colorpicker-clearfix:after{clear:both;content:"";display:block}.tui-colorpicker-vml{behavior:url(#default#VML);display:block}.tui-colorpicker-container,.tui-colorpicker-palette-container{width:152px}.tui-colorpicker-palette-container ul{margin:0;padding:0;width:152px}.tui-colorpicker-palette-container li{float:left;list-style:none;margin:0;padding:0 3px 3px 0}.tui-colorpicker-palette-button{border:1px solid #ccc;cursor:pointer;display:block;height:16px;margin:0;outline:none;overflow:hidden;padding:0;width:16px}.tui-colorpicker-palette-button.tui-colorpicker-selected{border:2px solid #000}.tui-colorpicker-palette-button.tui-colorpicker-color-transparent{barckground-repeat:repeat;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAABfGlDQ1BJQ0MgUHJvZmlsZQAAKJFjYGAqSSwoyGFhYGDIzSspCnJ3UoiIjFJgv8PAzcDDIMRgxSCemFxc4BgQ4MOAE3y7xsAIoi/rgsxK8/x506a1fP4WNq+ZclYlOrj1gQF3SmpxMgMDIweQnZxSnJwLZOcA2TrJBUUlQPYMIFu3vKQAxD4BZIsUAR0IZN8BsdMh7A8gdhKYzcQCVhMS5AxkSwDZAkkQtgaInQ5hW4DYyRmJKUC2B8guiBvAgNPDRcHcwFLXkYC7SQa5OaUwO0ChxZOaFxoMcgcQyzB4MLgwKDCYMxgwWDLoMjiWpFaUgBQ65xdUFmWmZ5QoOAJDNlXBOT+3oLQktUhHwTMvWU9HwcjA0ACkDhRnEKM/B4FNZxQ7jxDLX8jAYKnMwMDcgxBLmsbAsH0PA4PEKYSYyjwGBn5rBoZt5woSixLhDmf8xkKIX5xmbARh8zgxMLDe+///sxoDA/skBoa/E////73o//+/i4H2A+PsQA4AJHdp4IxrEg8AAAGbaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjQuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjEzPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CghrN1AAAABzSURBVCgVldKxEYAgDAXQD5VOpLuwgi4jlrTMqF00oOd5Aia/CcV/F4oYOgNlrLjvVyCEVJchBjEC25538PeaWTzRMBLxvIL7UZwFwL06qoA6aoAy+gFfJABvJAQPUoCMlICRRd8BzgHzJL4ok9aJ67l4AK9AxVKhHryUAAAAAElFTkSuQmCC");background-repeat:no-repeat}.tui-colorpicker-palette-hex{font-family:monospace;width:60px}.tui-colorpicker-palette-hex,.tui-colorpicker-palette-preview{zoom:1;display:inline-block;*display:inline;vertical-align:middle}.tui-colorpicker-palette-preview{border:1px solid #ccc;height:12px;overflow:hidden;width:12px}.tui-colorpicker-palette-toggle-slider{zoom:1;display:inline-block;*display:inline;float:right;vertical-align:middle}.tui-colorpicker-slider-container{zoom:1;height:122px;margin:5px 0 0}.tui-colorpicker-slider-container:after{clear:both;content:"";display:block}.tui-colorpicker-slider-left{float:left;height:120px;width:120px}.tui-colorpicker-slider-right{float:right;height:120px;width:32px}.tui-colorpicker-svg{display:block}.tui-colorpicker-slider-handle{height:1px;left:0;opacity:.9;overflow:visible;position:absolute;top:0;width:1px;z-index:2}.tui-colorpicker-svg-slider,.tui-colorpicker-vml-slider{border:1px solid #ccc;height:120px;overflow:hidden;width:120px}.tui-colorpicker-vml-slider{position:relative}.tui-colorpicker-vml-slider-bg{height:122px;left:0;margin:-1px 0 0 -1px;position:absolute;top:0;width:122px}.tui-colorpicker-svg-huebar{border:1px solid #ccc;float:right;height:120px;overflow:visible;width:18px}.tui-colorpicker-vml-huebar{position:relative;width:32px}.tui-colorpicker-vml-huebar-bg{height:121px;position:absolute;right:0;top:0;width:18px}',""]);const r=i},1148:()=>{!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");e.add("code",(e=>((e=>{e.addCommand("mceCodeEditor",(()=>{(e=>{const t=(e=>e.getContent({source_view:!0}))(e);e.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:t},onSubmit:t=>{((e,t)=>{e.focus(),e.undoManager.transact((()=>{e.setContent(t)})),e.selection.setCursorLocation(),e.nodeChanged()})(e,t.getData().code),t.close()}})})(e)}))})(e),(e=>{const t=()=>e.execCommand("mceCodeEditor");e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:t}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:t})})(e),{})))}()},1627:(e,t,n)=>{n(9504)},1688:()=>{},1694:(e,t,n)=>{n(7235)},2171:()=>{!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=(n=void 0,e=>n===e);var n;class o{constructor(e,t){this.tag=e,this.value=t}static some(e){return new o(!0,e)}static none(){return o.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?o.some(e(this.value)):o.none()}bind(e){return this.tag?e(this.value):o.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:o.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return(e=>null==e)(e)?o.none():o.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}o.singletonNone=new o(!1);const i=e=>()=>e,r=i(!1),s=(e,t)=>((e,t,n)=>{for(let i=0,r=e.length;il(0,0),l=(e,t)=>({major:e,minor:t}),c={nu:l,detect:(e,t)=>{const n=String(t).toLowerCase();return 0===e.length?a():((e,t)=>{const n=((e,t)=>{for(let n=0;nNumber(t.replace(n,"$"+e));return l(o(1),o(2))})(e,n)},unknown:a},u=(e,t)=>((e,t)=>{for(let n=0;n{const n=t.brand.toLowerCase();return s(e,(e=>{var t;return n===(null===(t=e.brand)||void 0===t?void 0:t.toLowerCase())})).map((e=>({current:e.name,version:c.nu(parseInt(t.version,10),0)})))})),d=(e,t)=>{const n=String(t).toLowerCase();return s(e,(e=>e.search(n)))},h=(e,n,o=0,i)=>{const r=e.indexOf(n,o);return-1!==r&&(!!t(i)||r+n.length<=i)},f=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,p=e=>t=>h(t,e),m=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:e=>h(e,"edge/")&&h(e,"chrome")&&h(e,"safari")&&h(e,"applewebkit")},{name:"Chromium",brand:"Chromium",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,f],search:e=>h(e,"chrome")&&!h(e,"chromeframe")},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:e=>h(e,"msie")||h(e,"trident")},{name:"Opera",versionRegexes:[f,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:p("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:p("firefox")},{name:"Safari",versionRegexes:[f,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:e=>(h(e,"safari")||h(e,"mobile/"))&&h(e,"applewebkit")}],g=[{name:"Windows",search:p("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:e=>h(e,"iphone")||h(e,"ipad"),versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:p("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"macOS",search:p("mac os x"),versionRegexes:[/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:p("linux"),versionRegexes:[]},{name:"Solaris",search:p("sunos"),versionRegexes:[]},{name:"FreeBSD",search:p("freebsd"),versionRegexes:[]},{name:"ChromeOS",search:p("cros"),versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/]}],O={browsers:i(m),oses:i(g)},v="Edge",b="Chromium",y="Opera",x="Firefox",w="Safari",S=e=>{const t=e.current,n=e.version,o=e=>()=>t===e;return{current:t,version:n,isEdge:o(v),isChromium:o(b),isIE:o("IE"),isOpera:o(y),isFirefox:o(x),isSafari:o(w)}},_={unknown:()=>S({current:void 0,version:c.unknown()}),nu:S,edge:i(v),chromium:i(b),ie:i("IE"),opera:i(y),firefox:i(x),safari:i(w)},k="Windows",C="Android",T="Linux",$="macOS",P="Solaris",A="FreeBSD",Q="ChromeOS",E=e=>{const t=e.current,n=e.version,o=e=>()=>t===e;return{current:t,version:n,isWindows:o(k),isiOS:o("iOS"),isAndroid:o(C),isMacOS:o($),isLinux:o(T),isSolaris:o(P),isFreeBSD:o(A),isChromeOS:o(Q)}},M={unknown:()=>E({current:void 0,version:c.unknown()}),nu:E,windows:i(k),ios:i("iOS"),android:i(C),linux:i(T),macos:i($),solaris:i(P),freebsd:i(A),chromeos:i(Q)},D=(e,t,n)=>{const o=O.browsers(),r=O.oses(),s=t.bind((e=>u(o,e))).orThunk((()=>((e,t)=>d(e,t).map((e=>{const n=c.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(o,e))).fold(_.unknown,_.nu),a=((e,t)=>d(e,t).map((e=>{const n=c.detect(e.versionRegexes,t);return{current:e.name,version:n}})))(r,e).fold(M.unknown,M.nu),l=((e,t,n,o)=>{const r=e.isiOS()&&!0===/ipad/i.test(n),s=e.isiOS()&&!r,a=e.isiOS()||e.isAndroid(),l=a||o("(pointer:coarse)"),c=r||!s&&a&&o("(min-device-width:768px)"),u=s||a&&!c,d=t.isSafari()&&e.isiOS()&&!1===/safari/i.test(n),h=!u&&!c&&!d;return{isiPad:i(r),isiPhone:i(s),isTablet:i(c),isPhone:i(u),isTouch:i(l),isAndroid:e.isAndroid,isiOS:e.isiOS,isWebView:i(d),isDesktop:i(h)}})(a,s,e,n);return{browser:s,os:a,deviceType:l}},I=e=>window.matchMedia(e).matches;let R=(e=>{let t,n=!1;return(...o)=>(n||(n=!0,t=e.apply(null,o)),t)})((()=>D(window.navigator.userAgent,o.from(window.navigator.userAgentData),I)));const z=()=>R(),N=()=>{const e=z().os.isMacOS()||z().os.isiOS();return` +@endif + +@endif + +@if (!in_array($frame_id ?? '', $wysiwyg_frame_loaded)) +@php($wysiwyg_frame_loaded[] = $frame_id ?? '') + {{-- 非表示のinput type file. file plugin用. see) resources\js\tinymce\plugins\file\plugin.js --}} @@ -263,6 +279,12 @@ {{-- 登録時のリサイズ用 --}} +@endif + +{{-- bugfix: tinymce.init() はカラム固有の target_class (セレクタ) 毎に出力する。 + データベース・予約プラグイン等で同一フォーム内にWYSIWYG項目が複数ある場合、 + 各 textarea に固有のセレクタで tinymce.init() を呼び出す必要がある。 --}} + {{-- テーマ固有 簡易テンプレート設定 --}}