")||n.startsWith("{{{row")||n.startsWith("{{{col")}function ff(n,e="/"){if(n){const c=uf(n,{toneType:"symbol",multiple:!0,type:"all"}).filter(o=>(o.origin=so(o.origin)??"",o.origin=o.origin.trim(),o.origin.length>0)).map(o=>{const i=o.polyphonic.filter(O=>O!=o.pinyin);return i.splice(0,0,o.pinyin),{origin:o.origin,pys:i}}).filter(({pys:o})=>o.filter(i=>!!i).length>0),b=c.map(({origin:o,pys:i})=>`${o}${i.join(e)}`).join(" "),z=c.map(({origin:o,pys:i})=>`${o}${i[0]}`).join(" "),a=c.map(({pys:o})=>o[0]).join(" "),r=c.map(({origin:o})=>o).join(" ");return{allPY:b,onePY:z,pyOnly:a,originOnly:r}}return{}}class lf{constructor(e){U(this,"openedTab");U(this,"plugin");this.plugin=e}async open(e,t){var c;e&&((c=this.openedTab)==null||c.close(),this.openedTab=await J1(this.plugin,e,t))}}function To(n){return n==null?void 0:n.map(e=>{const t=e.cloneNode(!0);at(t);const c=io(t);return so(c).replace(/\n+/g,`
+`}}get 整理assets下的图片视频音频(){switch(this.conf.appearance.lang){case"zh_CN":return"整理 assets 下的图片、视频、音频";case"es_ES":return"Organizando imágenes, videos y audios en assets";case"fr_FR":return"Organiser les images, vidéos et audios dans assets";case"ja_JP":return"assetsの画像、ビデオ、オーディオを整理する";case"zh_CHT":return"整理 assets 下的圖片、視頻、音頻";case"it_IT":return;case"en_US":default:return"Organizing images, videos, and audios under assets"}}get 即将创建快照(){switch(this.conf.appearance.lang){case"zh_CN":return"即将创建快照,如果有问题,可从快照恢复。(建议自己手动 alt+h 创建快照保险一些)";case"es_ES":return"Pronto se creará una instantánea, si hay un problema, se puede restaurar desde la instantánea. (Se recomienda que cree una instantánea manualmente con alt+h para mayor seguridad)";case"fr_FR":return"Une capture sera bientôt créée, en cas de problème, vous pouvez restaurer à partir de la capture. (Il est recommandé de créer une capture manuellement avec alt+h pour plus de sécurité)";case"ja_JP":return"スナップショットを作成しようとしています。問題がある場合は、スナップショットから復元できます。(手動でalt+hを使用してスナップショットを作成することをお勧めします)";case"zh_CHT":return"即將創建快照,如果有問題,可從快照恢復。(建議自己手動 alt+h 創建快照保險一些)";case"it_IT":return;case"en_US":default:return"About to create a snapshot, if there's a problem, you can restore from the snapshot. (It's recommended to manually create a snapshot with alt+h for more security)"}}get 已经刷新虚拟引用(){switch(this.conf.appearance.lang){case"zh_CN":return"已经刷新虚拟引用";case"es_ES":return"Se han actualizado las referencias virtuales";case"fr_FR":return"Les références virtuelles ont été mises à jour";case"ja_JP":return"仮想参照が更新されました";case"zh_CHT":return"已經刷新虛擬引用";case"it_IT":return;case"en_US":default:return"Virtual references have been refreshed"}}get 正在转移引用(){switch(this.conf.appearance.lang){case"zh_CN":return"正在转移引用……";case"es_ES":return"Transfiriendo referencias...";case"fr_FR":return"Transfert des références...";case"ja_JP":return"参照を移動しています...";case"zh_CHT":return"正在轉移引用……";case"it_IT":return;case"en_US":default:return"Transferring references..."}}get 正在尝试删除闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"正在尝试删除闪卡……";case"es_ES":return"Intentando eliminar tarjetas flash...";case"fr_FR":return"Tentative de suppression des cartes flash...";case"ja_JP":return"フラッシュカードを削除しようとしています...";case"zh_CHT":return"正在嘗試刪除閃卡……";case"it_IT":return;case"en_US":default:return"Trying to delete flashcards..."}}get 正在删除老文件(){switch(this.conf.appearance.lang){case"zh_CN":return"正在删除老文件……";case"es_ES":return"Eliminando archivos antiguos...";case"fr_FR":return"Suppression des anciens fichiers...";case"ja_JP":return"古いファイルを削除しています...";case"zh_CHT":return"正在刪除老文件……";case"it_IT":return;case"en_US":default:return"Deleting old files..."}}get assets整理还在进行中(){switch(this.conf.appearance.lang){case"zh_CN":return"assets: 整理还在进行中……";case"es_ES":return"assets: La organización todavía está en progreso...";case"fr_FR":return"assets: L'organisation est toujours en cours...";case"ja_JP":return"assets: 整理はまだ進行中です...";case"zh_CHT":return"assets: 整理仍在進行中...";case"it_IT":return;case"en_US":default:return"assets: The organization is still in progress..."}}assets整理了x个文件(e){switch(this.conf.appearance.lang){case"zh_CN":return`assets: 整理了[${e}]个文件`;case"es_ES":return`assets: Se han organizado [${e}] archivos`;case"fr_FR":return`assets: [${e}] fichiers ont été organisés`;case"ja_JP":return`assets: [${e}]つのファイルを整理しました`;case"zh_CHT":return`assets: 整理了[${e}]個文件`;case"it_IT":return;case"en_US":default:return`assets: [${e}] files have been organized`}}已经处理了x个块(e,t,c){switch(this.conf.appearance.lang){case"zh_CN":return`已经处理了[${e}/${t}]个文件,[${c}]个块。`;case"es_ES":return`Se han procesado [${e}/${t}] archivos, [${c}] bloques.`;case"fr_FR":return`[${e}/${t}] fichiers ont été traités, [${c}] blocs.`;case"ja_JP":return`[${e}/${t}]つのファイル、[${c}]つのブロックを処理しました。`;case"zh_CHT":return`已經處理了[${e}/${t}]個文件,[${c}]個塊。`;case"it_IT":return;case"en_US":default:return`Processed [${e}/${t}] files, [${c}] blocks.`}}准备删除失效闪卡(e){switch(this.conf.appearance.lang){case"zh_CN":return`准备删除失效闪卡${e}个`;case"es_ES":return`Preparándose para eliminar ${e} tarjetas flash no válidas`;case"fr_FR":return`Préparation à la suppression de ${e} cartes flash non valides`;case"ja_JP":return`無効なフラッシュカード${e}枚を削除する準備ができています`;case"zh_CHT":return`準備刪除失效閃卡${e}個`;case"it_IT":return;case"en_US":default:return`Preparing to delete ${e} invalid flashcards`}}get 默认关闭自动刷新(){switch(this.conf.appearance.lang){case"zh_CN":return"默认关闭自动刷新";case"es_ES":return"Deshabilitar la actualización automática por defecto";case"fr_FR":return"Désactiver le rafraîchissement automatique par défaut";case"ja_JP":return"デフォルトで自動更新を無効にする";case"zh_CHT":return"預設關閉自動刷新";case"it_IT":return;case"en_US":default:return"Disable auto-refresh by default"}}get 自动选择一个笔记本(){switch(this.conf.appearance.lang){case"zh_CN":return"自动选择一个笔记本";case"es_ES":return"Seleccionar automáticamente un cuaderno";case"fr_FR":return"Sélectionner automatiquement un cahier";case"ja_JP":return"自動的にノートを選択する";case"zh_CHT":return"自動選擇一個筆記本";case"it_IT":return;case"en_US":default:return"Automatically select a notebook"}}get 自动(){switch(this.conf.appearance.lang){case"zh_CN":return"自动";case"es_ES":return"Automático";case"fr_FR":return"Automatique";case"ja_JP":return"自動";case"zh_CHT":return"自動";case"it_IT":return;case"en_US":default:return"Automatic"}}get 选择(){switch(this.conf.appearance.lang){case"zh_CN":return"选择";case"es_ES":return"Seleccionar";case"fr_FR":return"Sélectionner";case"ja_JP":return"選択する";case"zh_CHT":return"選擇";case"it_IT":return;case"en_US":default:return"Select"}}get 知识库问答(){switch(this.conf.appearance.lang){case"zh_CN":return"知识库问答";case"es_ES":return"Preguntas y respuestas de la base de conocimientos";case"fr_FR":return"Questions et réponses de la base de connaissances";case"ja_JP":return"知識ベースの質問と回答";case"zh_CHT":return"知識庫問答";case"it_IT":return;case"en_US":default:return"Knowledge Base Q&A"}}get 隐藏闪卡暂停按钮(){switch(this.conf.appearance.lang){case"zh_CN":return"隐藏闪卡暂停按钮";case"es_ES":return"Ocultar botón de pausa de tarjetas rápidas";case"fr_FR":return"Masquer le bouton de pause des cartes flash";case"ja_JP":return"フラッシュカードのポーズボタンを非表示";case"zh_CHT":return"隱藏閃卡暫停按鈕";case"it_IT":return;case"en_US":default:return"Hide Flashcard Pause Button"}}get 隐藏优先级滑动块(){switch(this.conf.appearance.lang){case"zh_CN":return"隐藏优先级滑动块";case"es_ES":return"Ocultar control deslizante de prioridad";case"fr_FR":return"Masquer la barre de défilement de priorité";case"ja_JP":return"優先度スライダーを非表示";case"zh_CHT":return"隱藏優先級滑動塊";case"it_IT":return;case"en_US":default:return"Hide Priority Slider"}}get 使内容模糊(){switch(this.conf.appearance.lang){case"zh_CN":return"使内容模糊";case"es_ES":return"Hacer contenido borroso";case"fr_FR":return"Rendre le contenu flou";case"ja_JP":return"コンテンツをぼやかす";case"zh_CHT":return"使內容模糊";case"it_IT":return;case"en_US":default:return"Make content blurry"}}get 请将上面的内容制作为表格(){switch(this.conf.appearance.lang){case"zh_CN":return"请将上面的内容制作为表格";case"es_ES":return"Por favor, convierte el contenido de arriba en una tabla";case"fr_FR":return"Veuillez transformer le contenu ci-dessus en tableau";case"ja_JP":return"上の内容をテーブルにまとめます";case"zh_CHT":return"請將上面的內容製成表格";case"it_IT":return;case"en_US":default:return"Please format the above content into a table"}}get 内容制表(){switch(this.conf.appearance.lang){case"zh_CN":return"把有‘|’隔开的内容制表,可选择多行";case"es_ES":return"Formatea el contenido separado por '|', puedes seleccionar múltiples líneas";case"fr_FR":return"Met en forme le contenu séparé par '|', vous pouvez sélectionner plusieurs lignes";case"ja_JP":return"'|'で区切られた内容を表形式にします。複数行を選択できます";case"zh_CHT":return"將有‘|’分隔的內容製成表格,可選擇多行";case"it_IT":return;case"en_US":default:return"Format the content separated by '|', multi-line selection is available"}}get 在文档树中定位(){switch(this.conf.appearance.lang){case"zh_CN":return"在文档树中定位";case"es_ES":return"Localizar en el árbol de documentos";case"fr_FR":return"Localiser dans l'arborescence des documents";case"ja_JP":return"ドキュメントツリーで位置を特定";case"zh_CHT":return"在文檔樹中定位";case"it_IT":return;case"en_US":default:return"Locate in the document tree"}}get 番茄钟在状态栏的右边(){switch(this.conf.appearance.lang){case"zh_CN":return"番茄钟在状态栏的右边";case"es_ES":return"El pomodoro está a la derecha de la barra de estado";case"fr_FR":return"Le pomodoro est à droite de la barre d'état";case"ja_JP":return"ステータスバーの右側にトマト時計があります";case"zh_CHT":return"番茄鐘在狀態欄的右邊";case"it_IT":return;case"en_US":default:return"Pomodoro is on the right side of the status bar"}}get 复制为图片(){switch(this.conf.appearance.lang){case"zh_CN":return"复制为图片";case"es_ES":return"Copiar como imagen";case"fr_FR":return"Copier en tant qu'image";case"ja_JP":return"画像としてコピー";case"zh_CHT":return"複製為圖片";case"it_IT":return;case"en_US":default:return"Copy as Picture"}}get 正在复制为图片请等待(){switch(this.conf.appearance.lang){case"zh_CN":return"正在复制为图片请等待";case"es_ES":return"Copiando como imagen, por favor espere";case"fr_FR":return"Copie en cours sous forme d'image, veuillez patienter";case"ja_JP":return"画像としてコピー中です。お待ちください";case"zh_CHT":return"正在複製為圖片請等待";case"it_IT":return;case"en_US":default:return"Copying as image, please wait"}}get 复制完成(){switch(this.conf.appearance.lang){case"zh_CN":return"复制完成";case"es_ES":return"Copia completada";case"fr_FR":return"Copie terminée";case"ja_JP":return"コピーが完了しました";case"zh_CHT":return"複製完成";case"it_IT":return;case"en_US":default:return"Copy completed"}}get 显示备注(){switch(this.conf.appearance.lang){case"zh_CN":return"显示备注Memo于内容上方";case"es_ES":return"Mostrar notas memo encima del contenido";case"fr_FR":return"Afficher les notes memo au-dessus du contenu";case"ja_JP":return"内容の上にメモを表示";case"zh_CHT":return"顯示備註Memo於內容上方";case"it_IT":return;case"en_US":default:return"Show memo notes above content"}}get 锁定内容(){switch(this.conf.appearance.lang){case"zh_CN":return"锁定内容/解锁内容";case"es_ES":return"Bloquear contenido/Desbloquear contenido";case"fr_FR":return"Verrouiller le contenu/Déverrouiller le contenu";case"ja_JP":return"コンテンツをロック/ロック解除";case"zh_CHT":return"鎖定內容/解鎖內容";case"it_IT":return;case"en_US":default:return"Lock Content/Unlock Content"}}get 百度千帆转发器监听地址(){switch(this.conf.appearance.lang){case"zh_CN":return"百度千帆转发器监听地址";case"es_ES":return"Dirección de escucha del transmisor de Baidu Qianfan";case"fr_FR":return"Adresse d'écoute du transmetteur Baidu Qianfan";case"ja_JP":return"百度千帆転送器リスニングアドレス";case"zh_CHT":return"百度千帆轉發器監聽地址";case"it_IT":return;case"en_US":default:return"Baidu Qianfan Transmitter Listening Address"}}get 添加百度千帆的密钥(){switch(this.conf.appearance.lang){case"zh_CN":return"添加百度千帆的密钥";case"es_ES":return"Agregar clave de Baidu Qianfan";case"fr_FR":return"Ajouter la clé de Baidu Qianfan";case"ja_JP":return"百度千帆のキーを追加";case"zh_CHT":return"添加百度千帆的密鑰";case"it_IT":return;case"en_US":default:return"Add Baidu Qianfan Key"}}get 添加知识库得到ID(){switch(this.conf.appearance.lang){case"zh_CN":return"添加知识库得到ID";case"es_ES":return"Agregar base de conocimientos para obtener ID";case"fr_FR":return"Ajouter une base de connaissances pour obtenir l'ID";case"ja_JP":return"知識ベースを追加してIDを取得";case"zh_CHT":return"添加知識庫得到ID";case"it_IT":return;case"en_US":default:return"Add Knowledge Base to Get ID"}}get 添加AI应用(){switch(this.conf.appearance.lang){case"zh_CN":return"添加AI应用,配置刚加上的知识库,最后发布,得到应用ID";case"es_ES":return"Agregar aplicación de IA, configurar la base de conocimientos recién agregada, publicar y obtener el ID de la aplicación";case"fr_FR":return"Ajouter une application AI, configurer la base de connaissances nouvellement ajoutée, publier et obtenir l'ID de l'application";case"ja_JP":return"AIアプリケーションを追加し、新しく追加された知識ベースを設定し、最後に公開してアプリケーションIDを取得";case"zh_CHT":return"添加AI應用,配置剛加上的知識庫,最後發布,得到應用ID";case"it_IT":return;case"en_US":default:return"Add AI Application, Configure the Recently Added Knowledge Base, Publish, and Get Application ID"}}get 更新所有文档成功(){switch(this.conf.appearance.lang){case"zh_CN":return"更新所有文档成功";case"es_ES":return"Actualización exitosa de todos los documentos";case"fr_FR":return"Mise à jour réussie de tous les documents";case"ja_JP":return"すべてのドキュメントの更新に成功";case"zh_CHT":return"更新所有文檔成功";case"it_IT":return;case"en_US":default:return"Successfully Updated All Documents"}}get 删除多余的(){switch(this.conf.appearance.lang){case"zh_CN":return"删除多余的";case"es_ES":return"Eliminar lo sobrante";case"fr_FR":return"Supprimer le superflu";case"ja_JP":return"余分なものを削除";case"zh_CHT":return"刪除多餘的";case"it_IT":return;case"en_US":default:return"Delete Excess"}}get 清理完成(){switch(this.conf.appearance.lang){case"zh_CN":return"清理完成";case"es_ES":return"Limpieza completada";case"fr_FR":return"Nettoyage terminé";case"ja_JP":return"クリーンアップ完了";case"zh_CHT":return"清理完成";case"it_IT":return;case"en_US":default:return"Cleanup completed"}}get 删除重复的(){switch(this.conf.appearance.lang){case"zh_CN":return"删除重复的";case"es_ES":return"Eliminar duplicados";case"fr_FR":return"Supprimer les doublons";case"ja_JP":return"重複を削除";case"zh_CHT":return"刪除重複的";case"it_IT":return;case"en_US":default:return"Delete duplicates"}}get 向知识库提问(){switch(this.conf.appearance.lang){case"zh_CN":return"向知识库提问";case"es_ES":return"Preguntar a la base de conocimientos";case"fr_FR":return"Poser une question à la base de connaissances";case"ja_JP":return"知識ベースに質問する";case"zh_CHT":return"向知識庫提問";case"it_IT":return;case"en_US":default:return"Ask the knowledge base"}}get 向知识库提问stream(){switch(this.conf.appearance.lang){case"zh_CN":return"向知识库提问(流式)";case"es_ES":return"Preguntar a la base de conocimientos (stream)";case"fr_FR":return"Poser une question à la base de connaissances (stream)";case"ja_JP":return"知識ベースに質問する(ストリーム)";case"zh_CHT":return"向知識庫提問(流式)";case"it_IT":return;case"en_US":default:return"Ask the knowledge base (stream)"}}get 清理百度千帆多余文件(){switch(this.conf.appearance.lang){case"zh_CN":return"清理百度千帆多余文件";case"es_ES":return"Limpiar archivos innecesarios de Baidu Qianfan";case"fr_FR":return"Nettoyer les fichiers superflus de Baidu Qianfan";case"ja_JP":return"百度千帆の不要なファイルをクリーンアップ";case"zh_CHT":return"清理百度千帆多餘文件";case"it_IT":return;case"en_US":default:return"Clean up unnecessary files from Baidu Qianfan"}}get 打开知识库(){switch(this.conf.appearance.lang){case"zh_CN":return"打开知识库";case"es_ES":return"Abrir base de conocimientos";case"fr_FR":return"Ouvrir la base de connaissances";case"ja_JP":return"知識ベースを開く";case"zh_CHT":return"打開知識庫";case"it_IT":return;case"en_US":default:return"Open knowledge base"}}get 上传当前文档以及所有子文档到百度千帆(){switch(this.conf.appearance.lang){case"zh_CN":return"上传当前文档以及所有子文档到百度千帆";case"es_ES":return"Subir el documento actual y todos los subdocumentos a Baidu Qianfan";case"fr_FR":return"Télécharger le document actuel et tous les sous-documents sur Baidu Qianfan";case"ja_JP":return"現在のドキュメントとすべてのサブドキュメントを百度千帆にアップロード";case"zh_CHT":return"上傳當前文件及所有子文件至百度千帆";case"it_IT":return;case"en_US":default:return"Upload the current document and all sub-documents to Baidu Qianfan"}}get 在检索问答时(){switch(this.conf.appearance.lang){case"zh_CN":return"在检索问答时,系统通过检索知识点召回对应的切片。开启知识增强,会调用大模型抽取更加丰富的知识点,增加切片的召回率。开启后,会增加文档的处理时长和资源消耗。";case"es_ES":return"Al buscar respuestas, el sistema recupera las rebanadas correspondientes mediante la búsqueda de conocimientos. Al activar el enriquecimiento del conocimiento, se llama a un modelo grande para extraer conocimientos más ricos, aumentando la tasa de recuperación de las rebanadas. Después de activarlo, aumentará la duración del procesamiento del documento y el consumo de recursos.";case"fr_FR":return"Lors de la recherche de réponses, le système récupère les tranches correspondantes en recherchant des connaissances. En activant l'enrichissement des connaissances, un grand modèle est appelé pour extraire des connaissances plus riches, augmentant ainsi le taux de récupération des tranches. Après l'avoir activé, cela augmentera la durée de traitement du document et la consommation de ressources.";case"ja_JP":return"回答を検索する際、システムは知識を検索して対応するスライスを呼び出します。知識の強化を有効にすると、大規模なモデルを呼び出してより豊富な知識を抽出し、スライスの呼び出し率を向上させます。有効にすると、ドキュメントの処理時間とリソース消費が増加します。";case"zh_CHT":return"在檢索問答時,系統通過檢索知識點召回對應的切片。開啟知識增強,會調用大模型抽取更加豐富的知識點,增加切片的召回率。開啟後,會增加文檔的處理時長和資源消耗。";case"it_IT":return;case"en_US":default:return"When retrieving answers, the system retrieves the corresponding slices by searching for knowledge points. By enabling knowledge enhancement, a large model is called to extract more rich knowledge points, increasing the recall rate of slices. After enabling, it will increase the processing time and resource consumption of documents."}}get 上传当前文档以及所有子文档到百度千帆Enhance(){switch(this.conf.appearance.lang){case"zh_CN":return"上传当前文档以及所有子文档到百度千帆(知识增强)";case"es_ES":return"Subir el documento actual y todos los subdocumentos a Baidu Qianfan (Mejora del Conocimiento)";case"fr_FR":return"Télécharger le document actuel et tous les sous-documents vers Baidu Qianfan (Amélioration des Connaissances)";case"ja_JP":return"現在のドキュメントとすべてのサブドキュメントを百度千帆(知識強化)にアップロードする";case"zh_CHT":return"上傳當前文件及所有子文件到百度千帆(知識增強)";case"it_IT":return;case"en_US":default:return"Upload the current document and all sub-documents to Baidu Qianfan (Knowledge Enhance)"}}get 上传当前文档Enchance(){switch(this.conf.appearance.lang){case"zh_CN":return"上传当前文档(知识增强)";case"es_ES":return"Subir documento actual (mejora de conocimiento)";case"fr_FR":return"Télécharger le document actuel (amélioration des connaissances)";case"ja_JP":return"現在のドキュメントをアップロード(知識強化)";case"zh_CHT":return"上傳當前文檔(知識增強)";case"it_IT":return;case"en_US":default:return"Upload current document (knowledge enhancement)"}}get 上传当前文档(){switch(this.conf.appearance.lang){case"zh_CN":return"上传当前文档";case"es_ES":return"Subir documento actual";case"fr_FR":return"Télécharger le document actuel";case"ja_JP":return"現在のドキュメントをアップロード";case"zh_CHT":return"上傳當前文檔";case"it_IT":return;case"en_US":default:return"Upload current document"}}get 从百度千帆删除当前文件(){switch(this.conf.appearance.lang){case"zh_CN":return"从百度千帆删除当前文件";case"es_ES":return"Eliminar el archivo actual de Baidu Qianfan";case"fr_FR":return"Supprimer le fichier actuel de Baidu Qianfan";case"ja_JP":return"百度千帆から現在のファイルを削除";case"zh_CHT":return"從百度千帆刪除當前文件";case"it_IT":return;case"en_US":default:return"Delete current file from Baidu Qianfan"}}get 从百度千帆删除当前文件以及子文件(){switch(this.conf.appearance.lang){case"zh_CN":return"从百度千帆删除当前文件以及子文件";case"es_ES":return"Eliminar el archivo actual y sus subarchivos de Baidu Qianfan";case"fr_FR":return"Supprimer le fichier actuel et ses sous-fichiers de Baidu Qianfan";case"ja_JP":return"百度千帆から現在のファイルとサブファイルを削除";case"zh_CHT":return"從百度千帆刪除當前文件以及子文件";case"it_IT":return;case"en_US":default:return"Delete current file and subfiles from Baidu Qianfan"}}get 移动到DailyNote时总是移动到底部(){switch(this.conf.appearance.lang){case"zh_CN":return"移动、复制到DailyNote时总是在底部";case"es_ES":return"Mover o copiar a DailyNote siempre al final";case"fr_FR":return"Déplacer ou copier vers DailyNote toujours en bas";case"ja_JP":return"DailyNoteに移動またはコピーするときは常に最後に";case"zh_CHT":return"移動、複製到DailyNote時總是在底部";case"it_IT":return;case"en_US":default:return"Move or copy to DailyNote always at the bottom"}}get 插入阅读点时记录当前所有打开的页签(){switch(this.conf.appearance.lang){case"zh_CN":return"插入阅读点时,记录当前所有打开的页签";case"es_ES":return"Al insertar un punto de lectura, registrar todas las pestañas abiertas actualmente";case"fr_FR":return"Lors de l'insertion d'un point de lecture, enregistrer toutes les onglets ouverts actuellement";case"ja_JP":return"読書ポイントを挿入するとき、現在開いているすべてのタブを記録する";case"zh_CHT":return"插入閱讀點時,記錄當前所有打開的頁籤";case"it_IT":return;case"en_US":default:return"When inserting a reading point, record all currently open tabs"}}get 鼠标悬浮显示闪卡挖空的内容(){switch(this.conf.appearance.lang){case"zh_CN":return"鼠标悬浮时,显示闪卡被挖空的内容";case"es_ES":return"Mostrar el contenido oculto de la tarjeta flash al pasar el ratón por encima";case"fr_FR":return"Afficher le contenu masqué de la carte mémoire lors du survol de la souris";case"ja_JP":return"マウスオーバー時に、カードの隠された内容を表示する";case"zh_CHT":return"鼠標懸浮時,顯示閃卡被挖空的内容";case"it_IT":return;case"en_US":default:return"Show the cloze content of the flashcard on mouse hover"}}get 收集当前文档与子文档所有的未完成任务(){switch(this.conf.appearance.lang){case"zh_CN":return"收集当前文档与子文档所有的未完成任务";case"es_ES":return"Recopilar todas las tareas pendientes del documento actual y sus subdocumentos";case"fr_FR":return"Collecter toutes les tâches incomplètes du document actuel et de ses sous-documents";case"ja_JP":return"現在のドキュメントとそのサブドキュメントのすべての未完了タスクを収集する";case"zh_CHT":return"收集當前文檔與子文檔所有的未完成任務";case"it_IT":return;case"en_US":default:return"Collect all incomplete tasks in the current document and its subdocuments"}}get 列出当前文档与子文档中没被引用的文档(){switch(this.conf.appearance.lang){case"zh_CN":return"列出当前文档与子文档中,没被引用的文档";case"es_ES":return"Listar los documentos no referenciados en el documento actual y sus subdocumentos";case"fr_FR":return"Lister les documents non référencés dans le document actuel et ses sous-documents";case"ja_JP":return"現在のドキュメントとそのサブドキュメントの中で、参照されていないドキュメントをリストアップする";case"zh_CHT":return"列出當前文檔與子文檔中,沒被引用的文檔";case"it_IT":return;case"en_US":default:return"List documents in the current document and its subdocuments that are not referenced"}}get 定位所有引用Menu(){switch(this.conf.appearance.lang){case"zh_CN":return"打开(虚拟)引用或选中内容";case"es_ES":return"Abrir (virtual) referencias o contenido seleccionado";case"fr_FR":return"Ouvrir (virtuel) références ou contenu sélectionné";case"ja_JP":return"(仮想)参照または選択されたコンテンツを開く";case"zh_CHT":return"打開(虛擬)引用或選中內容";case"it_IT":return"Apri (virtuale) riferimenti o contenuto selezionato";case"en_US":default:return"Open (virtual) references or selected content"}}get 定位所有引用(){switch(this.conf.appearance.lang){case"zh_CN":return"快捷键与右键菜单,可定位指定块的反链,以及虚拟正链";case"es_ES":return"Atajos de teclado y menú contextual para localizar las contrapartes de un bloque específico, así como las contrapartes virtuales positivas";case"fr_FR":return"Raccourcis clavier et menu contextuel pour localiser les contreparties d'un bloc spécifique, ainsi que les contreparties virtuelles positives";case"ja_JP":return"ショートカットキーと右クリックメニューで、指定ブロックの逆リンクと仮想正リンクを特定できます";case"zh_CHT":return"快捷鍵與右鍵選單,可定位指定塊的反鏈,以及虛擬正鏈";case"it_IT":return;case"en_US":default:return"Keyboard shortcuts and context menu to locate the backlinks of a specified block, as well as virtual forward links"}}get 点击引用数打开所有引用(){switch(this.conf.appearance.lang){case"zh_CN":return"点击引用数,可以定位所有引用";case"es_ES":return"Haga clic en el número de citas para localizar todas las citas";case"fr_FR":return"Cliquez sur le nombre de citations pour localiser toutes les citations";case"ja_JP":return"引用数をクリックすると、すべての引用を見つけることができます";case"zh_CHT":return"點擊引用數,可以定位所有引用";case"it_IT":return;case"en_US":default:return"Click on the citation count to locate all citations"}}get 背景图透明度(){switch(this.conf.appearance.lang){case"zh_CN":return"背景图透明度,0到1之间。";case"es_ES":return"Opacidad de la imagen de fondo, entre 0 y 1.";case"fr_FR":return"Opacité de l'image de fond, entre 0 et 1.";case"ja_JP":return"背景画像の透明度、0から1の間。";case"zh_CHT":return"背景圖透明度,0到1之間。";case"it_IT":return;case"en_US":default:return"Background image opacity, between 0 and 1."}}get 创建文件时制卡(){switch(this.conf.appearance.lang){case"zh_CN":return"创建文件时制卡";case"es_ES":return"Crear tarjeta al generar archivo";case"fr_FR":return"Créer une carte lors de la création de fichier";case"ja_JP":return"ファイル作成時のカード作成";case"zh_CHT":return"建立檔案時製卡";case"it_IT":return;case"en_US":default:return"Create card when creating file"}}get 快速笔记(){switch(this.conf.appearance.lang){case"zh_CN":return"快速笔记";case"es_ES":return"Notas rápidas";case"fr_FR":return"Notes rapides";case"ja_JP":return"クイックノート";case"zh_CHT":return"快速筆記";case"it_IT":return;case"en_US":default:return"Quick notes"}}get 创建快速笔记(){switch(this.conf.appearance.lang){case"zh_CN":return"创建快速笔记 Ctrl+N";case"es_ES":return"Crear nota rápida Ctrl+N";case"fr_FR":return"Créer une note rapide Ctrl+N";case"ja_JP":return"クイックノートを作成する Ctrl+N";case"zh_CHT":return"建立快速筆記 Ctrl+N";case"it_IT":return;case"en_US":default:return"Create quick note Ctrl+N"}}get 打开最后一个笔记(){switch(this.conf.appearance.lang){case"zh_CN":return"打开最后一个笔记 Ctrl+Alt+N";case"es_ES":return"Abrir última nota Ctrl+Alt+N";case"fr_FR":return"Ouvrir la dernière note Ctrl+Alt+N";case"ja_JP":return"最後のノートを開く Ctrl+Alt+N";case"zh_CHT":return"打開最後一個筆記 Ctrl+Alt+N";case"it_IT":return;case"en_US":default:return"Open last note Ctrl+Alt+N"}}get 给链接加文字(){switch(this.conf.appearance.lang){case"zh_CN":return"给链接加文字";case"es_ES":return"Añadir texto al enlace";case"fr_FR":return"Ajouter du texte au lien";case"ja_JP":return"リンクにテキストを追加";case"zh_CHT":return"給連結加文字";case"it_IT":return;case"en_US":default:return"Add text to link"}}get 列数量留空为自动计算(){switch(this.conf.appearance.lang){case"zh_CN":return"列数量,留空为自动计算";case"es_ES":return"Número de columnas, dejar en blanco para cálculo automático";case"fr_FR":return"Nombre de colonnes, laisser vide pour calcul automatique";case"ja_JP":return"列数、空白の場合は自動計算";case"zh_CHT":return"列數量,留空為自動計算";case"it_IT":return;case"en_US":default:return"Number of columns, leave blank for automatic calculation"}}get 复制文档为标准Markdown(){switch(this.conf.appearance.lang){case"zh_CN":return"复制文档为标准Markdown到剪贴板";case"es_ES":return"Copiar documento como Markdown estándar al portapapeles";case"fr_FR":return"Copier le document en Markdown standard dans le presse-papiers";case"ja_JP":return"標準Markdownとしてドキュメントをクリップボードにコピー";case"zh_CHT":return"複製文件為標準Markdown到剪貼簿";case"it_IT":return;case"en_US":default:return"Copy document as standard Markdown to clipboard"}}get 修复双向链接(){switch(this.conf.appearance.lang){case"zh_CN":return"修复双向链接";case"es_ES":return"Reparar enlaces bidireccionales";case"fr_FR":return"Réparer les liens bidirectionnels";case"ja_JP":return"双方向リンクを修正";case"zh_CHT":return"修復雙向連結";case"it_IT":return;case"en_US":default:return"Fix bidirectional links"}}get 永久显示文档右侧的HomeEnd图标(){switch(this.conf.appearance.lang){case"zh_CN":return"永久显示文档右侧的Home,End图标。";case"es_ES":return"Mostrar permanentemente los iconos Home, End en el lado derecho del documento.";case"fr_FR":return"Afficher en permanence les icônes Home, End à droite du document.";case"ja_JP":return"ドキュメントの右側にHome,Endアイコンを常に表示します。";case"zh_CHT":return"永久顯示文件右側的Home,End圖標。";case"it_IT":return;case"en_US":default:return"Permanently display Home, End icons on the right side of the document."}}get 复制到dailynote(){switch(this.conf.appearance.lang){case"zh_CN":return"复制到 dailynote";case"es_ES":return"Copiar a dailynote";case"fr_FR":return"Copier dans dailynote";case"ja_JP":return"dailynoteにコピー";case"zh_CHT":return"複製到 dailynote";case"it_IT":return;case"en_US":default:return"Copy to dailynote"}}get 复制到dailynote使用的锚文本(){switch(this.conf.appearance.lang){case"zh_CN":return"复制到dailynote使用的锚文本";case"es_ES":return"Texto de anclaje para copiar a la nota diaria";case"fr_FR":return"Texte d'ancrage à copier dans la note quotidienne";case"ja_JP":return"dailynoteにコピーするアンカーテキスト";case"zh_CHT":return"複製到dailynote使用的錨文本";case"it_IT":return;case"en_US":default:return"Anchor text to copy to daily note"}}get 复制的内容显示原文的路径(){switch(this.conf.appearance.lang){case"zh_CN":return"复制的内容显示原文的路径";case"es_ES":return"Ruta del contenido copiado muestra el original";case"fr_FR":return"Chemin du contenu copié affiche l'original";case"ja_JP":return"コピーした内容が原文のパスを表示";case"zh_CHT":return"複製的內容顯示原文的路徑";case"it_IT":return;case"en_US":default:return"Copied content shows original path"}}get 改变原文的背景(){switch(this.conf.appearance.lang){case"zh_CN":return"改变原文的背景";case"es_ES":return"Cambiar el fondo del original";case"fr_FR":return"Changer l'arrière-plan de l'original";case"ja_JP":return"原文の背景を変更";case"zh_CHT":return"改變原文的背景";case"it_IT":return;case"en_US":default:return"Change the background of the original text"}}get 在原文中同时插入阅读点(){switch(this.conf.appearance.lang){case"zh_CN":return"在原文中同时插入阅读点";case"es_ES":return"Insertar puntos de lectura simultáneamente en el original";case"fr_FR":return"Insérer des points de lecture simultanément dans l'original";case"ja_JP":return"原文中に同時に読書ポイントを挿入";case"zh_CHT":return"在原文中同時插入閱讀點";case"it_IT":return;case"en_US":default:return"Insert reading points simultaneously in the original text"}}get 使用引用来回溯(){switch(this.conf.appearance.lang){case"zh_CN":return"使用引用来回溯,否则用超链接";case"es_ES":return"Usar referencias para retroceder, de lo contrario usar hipervínculos";case"fr_FR":return"Utiliser des références pour revenir en arrière, sinon utiliser des hyperliens";case"ja_JP":return"参照を使用して戻る、それ以外の場合はハイパーリンクを使用する";case"zh_CHT":return"使用引用來回溯,否則用超連結";case"it_IT":return;case"en_US":default:return"Use references to backtrack, otherwise use hyperlinks"}}get 添加批注(){switch(this.conf.appearance.lang){case"zh_CN":return"添加批注";case"es_ES":return"Agregar anotación";case"fr_FR":return"Ajouter une annotation";case"ja_JP":return"注釈を追加";case"zh_CHT":return"添加批註";case"it_IT":return;case"en_US":default:return"Add annotation"}}get 删除块以及闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"删除块以及闪卡(可删除文档)";case"es_ES":return"Eliminar bloque y tarjetas flash (puede eliminar documentos)";case"fr_FR":return"Supprimer le bloc et les fiches mémoire (peut supprimer les documents)";case"ja_JP":return"ブロックとフラッシュカードを削除(ドキュメントを削除可能)";case"zh_CHT":return"刪除塊以及閃卡(可刪除文檔)";case"it_IT":return;case"en_US":default:return"Delete block and flashcards (can delete documents)"}}get 添加到新文件(){switch(this.conf.appearance.lang){case"zh_CN":return"添加到新文件";case"es_ES":return"Agregar a un nuevo archivo";case"fr_FR":return"Ajouter à un nouveau fichier";case"ja_JP":return"新しいファイルに追加";case"zh_CHT":return"添加到新檔案";case"it_IT":return;case"en_US":default:return"Add to new file"}}get 加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"加入闪卡";case"es_ES":return"Agregar a tarjetas flash";case"fr_FR":return"Ajouter à des fiches mémo";case"ja_JP":return"フラッシュカードに追加";case"zh_CHT":return"加入閃卡";case"it_IT":return;case"en_US":default:return"Add to flashcards"}}get 复制到dailynoteNewFile(){switch(this.conf.appearance.lang){case"zh_CN":return"复制到新文件";case"es_ES":return"Copiar a nuevo archivo";case"fr_FR":return"Copier dans un nouveau fichier";case"ja_JP":return"新しいファイルにコピー";case"zh_CHT":return"複製到新檔案";case"it_IT":return;case"en_US":default:return"Copy to new file"}}get 请先打开阅读点功能(){switch(this.conf.appearance.lang){case"zh_CN":return"请先打开阅读点功能";case"es_ES":return"Por favor, activa la función de puntos de lectura primero";case"fr_FR":return"Veuillez d'abord activer la fonction de points de lecture";case"ja_JP":return"読書ポイント機能を先に有効にしてください";case"zh_CHT":return"請先打開閱讀點功能";case"it_IT":return;case"en_US":default:return"Please enable the reading point feature first"}}get 设置图标放左边(){switch(this.conf.appearance.lang){case"zh_CN":return"设置图标放左边";case"es_ES":return"Colocar icono a la izquierda";case"fr_FR":return"Placer l'icône à gauche";case"ja_JP":return"アイコンを左に配置";case"zh_CHT":return"設置圖標放左邊";case"it_IT":return;case"en_US":default:return"Set icon to the left"}}get 末尾添加空行(){switch(this.conf.appearance.lang){case"zh_CN":return"末尾添加空行";case"es_ES":return"Agregar línea en blanco al final";case"fr_FR":return"Ajouter une ligne vide à la fin";case"ja_JP":return"末尾に空行を追加";case"zh_CHT":return"末尾添加空行";case"it_IT":return;case"en_US":default:return"Add blank line at the end"}}get 显示topbar(){switch(this.conf.appearance.lang){case"zh_CN":return"显示topbar";case"es_ES":return"Mostrar barra superior";case"fr_FR":return"Afficher la barre supérieure";case"ja_JP":return"トップバーを表示";case"zh_CHT":return"顯示topbar";case"it_IT":return;case"en_US":default:return"Show topbar"}}get 简洁模式切换(){switch(this.conf.appearance.lang){case"zh_CN":return"正常/简洁模式切换";case"es_ES":return"Cambio entre modo normal/simplificado";case"fr_FR":return"Basculement entre le mode normal/simplifié";case"ja_JP":return"通常/シンプルモード切り替え";case"zh_CHT":return"正常/簡潔模式切換";case"it_IT":return;case"en_US":default:return"Toggle normal/concise mode"}}get 显示文档属性(){switch(this.conf.appearance.lang){case"zh_CN":return"显示文档属性";case"es_ES":return"Mostrar propiedades del documento";case"fr_FR":return"Afficher les propriétés du document";case"ja_JP":return"ドキュメントのプロパティを表示";case"zh_CHT":return"顯示文件屬性";case"it_IT":return;case"en_US":default:return"Show document properties"}}get HomeEnd图标放到左边(){switch(this.conf.appearance.lang){case"zh_CN":return"HomeEnd图标放到左边";case"es_ES":return"Iconos HomeEnd a la izquierda";case"fr_FR":return"Icônes HomeEnd à gauche";case"ja_JP":return"HomeEndアイコンを左に配置";case"zh_CHT":return"HomeEnd圖標放到左邊";case"it_IT":return;case"en_US":default:return"HomeEnd icons to the left"}}get 链接到块底部(){switch(this.conf.appearance.lang){case"zh_CN":return"链接到块底部";case"es_ES":return"Enlazar al fondo del bloque";case"fr_FR":return"Lier au bas du bloc";case"ja_JP":return"ブロックの底にリンク";case"zh_CHT":return"鏈接到塊底部";case"it_IT":return;case"en_US":default:return"Link to block bottom"}}get 创建时间升序(){switch(this.conf.appearance.lang){case"zh_CN":return"创建时间升序";case"es_ES":return"Orden ascendente por fecha de creación";case"fr_FR":return"Ordre croissant par date de création";case"ja_JP":return"作成日時昇順";case"zh_CHT":return"創建時間升序";case"it_IT":return;case"en_US":default:return"Ascending order by creation time"}}get 修改时间升序(){switch(this.conf.appearance.lang){case"zh_CN":return"修改时间升序";case"es_ES":return"Orden ascendente por fecha de modificación";case"fr_FR":return"Ordre croissant par date de modification";case"ja_JP":return"修正日時昇順";case"zh_CHT":return"修改時間升序";case"it_IT":return;case"en_US":default:return"Ascending order by modification time"}}get 创建时间降序(){switch(this.conf.appearance.lang){case"zh_CN":return"创建时间降序";case"es_ES":return"Tiempo de creación descendente";case"fr_FR":return"Date de création décroissante";case"ja_JP":return"作成時間降順";case"zh_CHT":return"創建時間降序";case"it_IT":return;case"en_US":default:return"Creation time descending"}}get 修改时间降序(){switch(this.conf.appearance.lang){case"zh_CN":return"修改时间降序";case"es_ES":return"Tiempo de modificación descendente";case"fr_FR":return"Date de modification décroissante";case"ja_JP":return"修正時間降順";case"zh_CHT":return"修改時間降序";case"it_IT":return;case"en_US":default:return"Modification time descending"}}get 阅读点加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"阅读点加入闪卡";case"es_ES":return"Punto de lectura añadido a la tarjeta flash";case"fr_FR":return"Point de lecture ajouté à la carte mémoire";case"ja_JP":return"読書ポイントをフラッシュカードに追加";case"zh_CHT":return"閱讀點加入閃卡";case"it_IT":return;case"en_US":default:return"Reading point added to flashcard"}}get 跳到底部反链(){switch(this.conf.appearance.lang){case"zh_CN":return"跳到底部反链";case"es_ES":return"Ir a las referencias inversas al final";case"fr_FR":return"Aller aux références inverses en bas";case"ja_JP":return"ページ下部の逆リンクに移動";case"zh_CHT":return"跳到底部反鏈";case"it_IT":return;case"en_US":default:return"Jump to Backlinks at the Bottom"}}get 在标题下添加跳转到底部的按钮(){switch(this.conf.appearance.lang){case"zh_CN":return"在标题下添加跳转到底部的按钮";case"es_ES":return"Agregar botón para saltar al final debajo del título";case"fr_FR":return"Ajouter un bouton pour sauter en bas sous le titre";case"ja_JP":return"タイトルの下にページの最後にジャンプするボタンを追加";case"zh_CHT":return"在標題下添加跳轉到底部的按鈕";case"it_IT":return;case"en_US":default:return"Add jump to bottom button under the title"}}get 跳转顶部(){switch(this.conf.appearance.lang){case"zh_CN":return"跳转顶部";case"es_ES":return"Saltar al inicio";case"fr_FR":return"Sauter en haut";case"ja_JP":return"ページの先頭にジャンプ";case"zh_CHT":return"跳轉頂部";case"it_IT":return;case"en_US":default:return"Jump to top"}}get 默认折叠概念栏(){switch(this.conf.appearance.lang){case"zh_CN":return"默认折叠概念栏";case"es_ES":return"Barra de conceptos plegable predeterminada";case"fr_FR":return"Barre de concepts repliable par défaut";case"ja_JP":return"デフォルトで折りたたまれるコンセプトバー";case"zh_CHT":return"預設摺疊概念欄";case"it_IT":return;case"en_US":default:return"Default collapsible concept bar"}}get conceptBarTitle点击(){switch(this.conf.appearance.lang){case"zh_CN":return"点击(打开链接), ctrl点击(并且), shift点击(排除), alt点击(单选)";case"es_ES":return"Clic (abrir enlace), clic con Ctrl (y), clic con Mayús (excluir), clic con Alt (selección única)";case"fr_FR":return"Clic (ouvrir le lien), clic avec Ctrl (et), clic avec Maj (exclure), clic avec Alt (sélection unique)";case"ja_JP":return"クリック(リンクを開く)、Ctrl クリック(および)、Shift クリック(除外)、Alt クリック(単一選択)";case"zh_CHT":return"點擊(打開連結)、Ctrl 點擊(並且)、Shift 點擊(排除)、Alt 點擊(單選)";case"it_IT":return;case"en_US":default:return"Click (open link), Ctrl-click (and), Shift-click (exclude), Alt-click (single selection)"}}get 反链启用只读模式(){switch(this.conf.appearance.lang){case"zh_CN":return"反链启用只读模式,提高性能";case"es_ES":return"El modo de solo lectura para enlaces inversos se activa y mejora el rendimiento.";case"fr_FR":return"Le mode lecture seule pour les liens entrants est activé et améliore les performances.";case"ja_JP":return"バックリンクの読み取り専用モードが有効になり、パフォーマンスが向上します。";case"zh_CHT":return"反向鏈接啟用唯讀模式,提高性能。";case"it_IT":return;case"en_US":default:return"Backlink enable read-only mode to improve performance."}}get 过滤下面显示的反链提及(){switch(this.conf.appearance.lang){case"zh_CN":return"在下面显示的反链提及中过滤。可点击问号查看语法。";case"es_ES":return"Filtrar las menciones de enlaces inversos mostrados a continuación.";case"fr_FR":return"Filtrer les mentions de liens inverses affichées ci-dessous.";case"ja_JP":return"以下に表示されるバックリンクの言及をフィルタリングします。疑問符をクリックして構文を確認できます。";case"zh_CHT":return"在下面顯示的反向鏈接提及中過濾。可點擊問號查看語法。";case"it_IT":return;case"en_US":default:return"Filter the backlink mentions shown below. Click the question mark to view the syntax."}}get 搜索反链提及(){switch(this.conf.appearance.lang){case"zh_CN":return"搜索本文档所有反链提及,搜索范围不受最大展开数限制。";case"es_ES":return"Buscar todas las menciones de enlaces inversos en este documento. El alcance de búsqueda no está limitado por el número máximo de expansiones.";case"fr_FR":return"Rechercher toutes les mentions de liens inverses dans ce document. La portée de la recherche n'est pas limitée par le nombre maximal d'expansions.";case"ja_JP":return"この文書内のすべてのバックリンクの言及を検索します。検索範囲は最大展開数に制限されません。";case"zh_CHT":return"搜尋本文檔所有反向鏈接提及,搜索範圍不受最大展開數限制。";case"it_IT":return;case"en_US":default:return"Search for all backlink mentions in this document. The search scope is not limited by the maximum number of expansions."}}get 标题字母升序(){switch(this.conf.appearance.lang){case"zh_CN":return"标题字母升序";case"es_ES":return"Título alfabético ascendente";case"fr_FR":return"Titre par ordre alphabétique croissant";case"ja_JP":return"タイトルアルファベット昇順";case"zh_CHT":return"標題字母升序";case"it_IT":return;case"en_US":default:return"Title Alphabetical Ascending"}}get 标题字母降序(){switch(this.conf.appearance.lang){case"zh_CN":return"标题字母降序";case"es_ES":return"Título alfabético descendente";case"fr_FR":return"Titre par ordre alphabétique décroissant";case"ja_JP":return"タイトルアルファベット降順";case"zh_CHT":return"標題字母降序";case"it_IT":return;case"en_US":default:return"Title Alphabetical Descending"}}get 标题自然数升序(){switch(this.conf.appearance.lang){case"zh_CN":return"标题自然数升序";case"es_ES":return"Título numérico natural ascendente";case"fr_FR":return"Titre par ordre numérique naturel croissant";case"ja_JP":return"タイトル自然数昇順";case"zh_CHT":return"標題自然數升序";case"it_IT":return;case"en_US":default:return"Title Natural Number Ascending"}}get 标题自然数降序(){switch(this.conf.appearance.lang){case"zh_CN":return"标题自然数降序";case"es_ES":return"Título numérico natural descendente";case"fr_FR":return"Titre par ordre numérique naturel décroissant";case"ja_JP":return"タイトル自然数降順";case"zh_CHT":return"標題自然數降序";case"it_IT":return;case"en_US":default:return"Title Natural Number Descending"}}get 草稿切换(){switch(this.conf.appearance.lang){case"zh_CN":return"草稿切换";case"es_ES":return"Cambio de borrador";case"fr_FR":return"Changement de brouillon";case"ja_JP":return"下書き切り替え";case"zh_CHT":return"草稿切換";case"it_IT":return;case"en_US":default:return"Draft Switch"}}get 快速笔记Doc(){switch(this.conf.appearance.lang){case"zh_CN":return"快捷键如有冲突请调整。
f4: 对任意文档,快速切其正面与背面。";case"es_ES":return"Ajuste los accesos directos si hay conflictos.
ctrl+n: Crear una nota rápida.
ctrl+alt+n: Abrir la nota rápida más reciente.
f4: Cambiar rápidamente entre la parte frontal y trasera de cualquier documento.";case"fr_FR":return"Ajustez les raccourcis si des conflits existent.
ctrl+n: Créer une note rapide.
ctrl+alt+n: Ouvrir la dernière note rapide.
f4: Passer rapidement entre l'avant et l'arrière de n'importe quel document.";case"ja_JP":return"ショートカットキーが競合する場合は調整してください。
f4: 對任意文檔,快速切其正面與背面。";case"it_IT":return;case"en_US":default:return"Adjust shortcuts if there are conflicts.
ctrl+n: Create a quick note.
ctrl+alt+n: Open the latest quick note.
f4: Quickly toggle between the front and back of any document."}}get 将指定的引用渲染为标签(){switch(this.conf.appearance.lang){case"zh_CN":return"把包含指定前缀的引用,渲染为标签。每个前缀用逗号隔开。";case"es_ES":return"Renderizar referencias que contienen un prefijo específico como etiquetas. Separe cada prefijo con una coma.";case"fr_FR":return"Rendre les références contenant un préfixe spécifié en tant qu'étiquettes. Séparez chaque préfixe par une virgule.";case"ja_JP":return"指定されたプレフィックスを含む参照をタグとしてレンダリングします。各プレフィックスはカンマで区切ります。";case"zh_CHT":return"把包含指定前綴的引用,渲染為標籤。每個前綴用逗號隔開。";case"it_IT":return;case"en_US":default:return"Render references containing a specified prefix as tags. Separate each prefix with a comma."}}get 使用链接否则用引用(){switch(this.conf.appearance.lang){case"zh_CN":return"打开使用链接,关闭使用引用。";case"es_ES":return"Abra usando el enlace, cierre usando la referencia.";case"fr_FR":return"Ouvrez en utilisant le lien, fermez en utilisant la référence.";case"ja_JP":return"リンクを使用して開き、参照を使用して閉じます。";case"zh_CHT":return"打開使用連結,關閉使用引用。";case"it_IT":return;case"en_US":default:return"Open using the link, close using the reference."}}get 总是保持已经加载的内容(){switch(this.conf.appearance.lang){case"zh_CN":return"总是保持已经加载的内容";case"es_ES":return"Mantener siempre el contenido ya cargado";case"fr_FR":return"Toujours conserver le contenu déjà chargé";case"ja_JP":return"常に既にロードされたコンテンツを保持する";case"zh_CHT":return"總是保持已經加載的內容";case"it_IT":return;case"en_US":default:return"Always keep the already loaded content"}}get 阅读点统一保存(){switch(this.conf.appearance.lang){case"zh_CN":return"阅读点统一保存";case"es_ES":return"Guardar uniformemente los puntos de lectura";case"fr_FR":return"Enregistrer uniformément les points de lecture";case"ja_JP":return"読書ポイントを統一して保存する";case"zh_CHT":return"閱讀點統一保存";case"it_IT":return;case"en_US":default:return"Uniformly save reading points"}}get 数据库充当反链(){switch(this.conf.appearance.lang){case"zh_CN":return"数据库反链:用数据库来充当反链面板,把反链自动插入数据库中";case"es_ES":return"Enlaces inversos de base de datos: Utilice la base de datos como un panel de enlaces inversos e inserte automáticamente los enlaces inversos en la base de datos.";case"fr_FR":return"Liens inverses de base de données : Utilisez la base de données comme panneau de liens inverses et insérez automatiquement les liens inversos dans la base de données.";case"ja_JP":return"データベースの逆リンク:データベースを逆リンクパネルとして使用し、逆リンクを自動的にデータベースに挿入します。";case"zh_CHT":return"資料庫反鏈:用資料庫充當反鏈面板,把反鏈自動插入資料庫中。";case"it_IT":return"Collegamenti inversi del database: Usa il database come un pannello di collegamenti inversi e inserisci automaticamente i collegamenti inversi nel database.";case"en_US":default:return"Database backlinks: Use the database as a backlink panel and automatically insert backlinks into the database."}}get 刷新数据库反链(){switch(this.conf.appearance.lang){case"zh_CN":return"刷新数据库反链";case"es_ES":return"Actualizar enlaces inversos de la base de datos";case"fr_FR":return"Actualiser les backlinks de la base de données";case"ja_JP":return"データベースの逆参照を更新する";case"zh_CHT":return"刷新數據庫反鏈";case"it_IT":return"Aggiorna i backlink del database";case"en_US":default:return"Refresh database backlinks"}}get 删除失效的闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"删除失效的闪卡。删卡时没有先取消闪卡,而是直接把闪卡的内容删除,则闪卡没有对应的内容,变成失效闪卡。(使用前请先创建备份)";case"es_ES":return"Eliminar tarjetas interactivas caducadas. Si se elimina el contenido de una tarjeta interactiva sin cancelarla primero, la tarjeta no tendrá contenido correspondiente y se convertirá en una tarjeta caducada. (Cree una copia de seguridad antes de usarla).";case"fr_FR":return"Supprimer les cartes mémoire expirées. Si vous supprimez le contenu d'une carte mémoire sans la désactiver d'abord, la carte n'aura plus de contenu correspondant et deviendra une carte mémoire expirée. (Faites une sauvegarde avant de l'utiliser).";case"ja_JP":return"無効なフラッシュカードを削除します。フラッシュカードをキャンセルせずに直接その内容を削除すると、フラッシュカードに対応する内容がなくなり、無効なフラッシュカードになります。(使用前にバックアップを作成してください)。";case"zh_CHT":return"刪除失效的閃卡。若未先取消閃卡,而是直接刪除閃卡內容,則閃卡將沒有對應內容,變成失效閃卡。(使用前請先建立備份)。";case"it_IT":return"Eliminare le schede lampo scadute. Se si elimina il contenuto di una scheda lampo senza prima annullarla, la scheda non avrà più un contenuto corrispondente e diventerà una scheda scaduta. (Fare un backup prima di utilizzarla).";case"en_US":default:return"Delete expired flashcards. If you delete the content of a flashcard without canceling it first, the flashcard will have no corresponding content and become an expired flashcard. (Create a backup before using it)."}}get 删除失效的数据库(){switch(this.conf.appearance.lang){case"zh_CN":return"删除失效的数据库。与失效的闪卡一样,从文档中删除数据库,数据库还是会在/data/storage/av 下存在。(使用前请先创建备份)";case"es_ES":return"Eliminar la base de datos no válida. Al igual que las tarjetas flash no válidas, eliminar la base de datos del documento. La base de datos aún existirá en /data/storage/av. (Cree una copia de seguridad antes de usarla).";case"fr_FR":return"Supprimer la base de données non valide. Comme les cartes mémoire non valides, supprimer la base de données du document. La base de données existera toujours sous /data/storage/av. (Faites une sauvegarde avant de l'utiliser).";case"ja_JP":return"無効なデータベースを削除します。無効なフラッシュカードと同じように、ドキュメントからデータベースを削除しますが、データベースは依然として/data/storage/avに存在します。(使用前にバックアップを作成してください)。";case"zh_CHT":return"刪除失效的資料庫。與失效的閃卡一樣,從文件中刪除資料庫,資料庫仍會在/data/storage/av 下存在。(使用前請先創建備份)。";case"it_IT":return"Eliminare il database non valido. Come le flashcard non valide, eliminare il database dal documento. Il database sarà ancora presente in /data/storage/av. (Creare un backup prima di utilizzarlo).";case"en_US":default:return"Delete the invalid database. Just like invalid flashcards, delete the database from the document. The database will still exist under /data/storage/av. (Create a backup before using it)."}}get 将选中的内容移到下边(){switch(this.conf.appearance.lang){case"zh_CN":return"将选中的内容移到下边";case"es_ES":return"Mover el contenido seleccionado hacia abajo";case"fr_FR":return"Déplacer le contenu sélectionné vers le bas";case"ja_JP":return"選択した内容を下に移動する";case"zh_CHT":return"將選中的內容移到下邊";case"it_IT":return"Spostare il contenuto selezionato verso il basso";case"en_US":default:return"Move the selected content to the bottom"}}get 隐藏修改时间和创建时间(){switch(this.conf.appearance.lang){case"zh_CN":return"隐藏修改时间和创建时间";case"es_ES":return"Ocultar la hora de modificación y la hora de creación";case"fr_FR":return"Masquer l'heure de modification et l'heure de création";case"ja_JP":return"修正日時と作成日時を非表示にする";case"zh_CHT":return"隱藏修改時間和創建時間";case"it_IT":return"Nascondi ora di modifica e ora di creazione";case"en_US":default:return"Hide modification time and creation time"}}get 移动内容后添加指向原来位置的链接(){switch(this.conf.appearance.lang){case"zh_CN":return"移动内容后,添加指向原来位置的链接";case"es_ES":return"Después de mover el contenido, agregue un enlace que apunte a la ubicación original";case"fr_FR":return"Après avoir déplacé le contenu, ajoutez un lien pointant vers l'emplacement d'origine";case"ja_JP":return"コンテンツを移動した後、元の場所を指すリンクを追加します";case"zh_CHT":return"移動內容後,添加指向原來位置的鏈接";case"it_IT":return"Dopo aver spostato il contenuto, aggiungi un collegamento che punta alla posizione originale";case"en_US":default:return"After moving the content, add a link pointing to the original location"}}get 插入相关的层级概念(){switch(this.conf.appearance.lang){case"zh_CN":return"插入相关的层级概念";case"es_ES":return"Concepto de jerarquía relacionado de inserción";case"fr_FR":return"Insérer le concept de hiérarchie connexe";case"ja_JP":return"関連する階層概念を挿入";case"zh_CHT":return"插入相關的層級概念";case"it_IT":return"Inserisci il concetto gerarchico correlato";case"en_US":default:return"Insert related hierarchical concepts"}}get 给引用加上效果(){switch(this.conf.appearance.lang){case"zh_CN":return"给引用加上效果";case"es_ES":return"Aplicar efecto a la cita";case"fr_FR":return"Appliquer un effet à la citation";case"ja_JP":return"引用に効果を追加する";case"zh_CHT":return"給引用加上效果";case"it_IT":return"Applica effetto alla citazione";case"en_US":default:return"Apply effect to the quote"}}get 自定义图标(){switch(this.conf.appearance.lang){case"zh_CN":return"自定义图标";case"es_ES":return"Icono personalizado";case"fr_FR":return"Icône personnalisée";case"ja_JP":return"カスタムアイコン";case"zh_CHT":return"自訂圖標";case"it_IT":return"icona personalizzata";case"en_US":default:return"Custom Icon"}}get 模糊查找引用(){switch(this.conf.appearance.lang){case"zh_CN":return"模糊查找引用,并插入引用";case"es_ES":return"Texto en español para la función de búsqueda y referencia difusa";case"fr_FR":return"Recherche floue de référence et insertion de la référence";case"ja_JP":return"曖昧な参照検索と参照の挿入";case"zh_CHT":return"模糊查找引用,並插入引用";case"it_IT":return"Ricerca per riferimento vago e inserimento del riferimento";case"en_US":default:return"Fuzzy find reference and insert reference"}}get 在悬浮窗内显示底部反链(){switch(this.conf.appearance.lang){case"zh_CN":return"在悬浮窗内显示底部反链";case"es_ES":return"Mostrar el enlace inverso inferior en la ventana flotante";case"fr_FR":return"Afficher le lien inverse inférieur dans la fenêtre flottante";case"ja_JP":return"フロートウィンドウ内に下部逆リンクを表示する";case"zh_CHT":return"在懸浮窗內顯示底部反鏈";case"it_IT":return"Visualizza il link inverso inferiore nella finestra flottante";case"en_US":return"Display the bottom backlink in the floating window";default:return""}}get 立即刷新(){switch(this.conf.appearance.lang){case"zh_CN":return"立即刷新";case"es_ES":return"Actualizar inmediatamente";case"fr_FR":return"Actualiser immédiatement";case"ja_JP":return"直ちに更新";case"zh_CHT":return"立即刷新";case"it_IT":return"Aggiorna immediatamente";case"en_US":default:return"Refresh immediately"}}get 移动到Dailynote(){switch(this.conf.appearance.lang){case"zh_CN":return"移动到 Dailynote";case"es_ES":return"Mover a Dailynote";case"fr_FR":return"Déplacer vers Dailynote";case"ja_JP":return"Dailynoteに移動";case"zh_CHT":return"移動到 Dailynote";case"it_IT":return"Sposta su Dailynote";case"en_US":default:return"Move to Dailynote"}}get 把指向当前文档的引用删除(){switch(this.conf.appearance.lang){case"zh_CN":return"把指向当前文档的引用删除";case"es_ES":return"Eliminar referencias al documento actual";case"fr_FR":return"Supprimer les références au document actuel";case"ja_JP":return"現在のドキュメントへの参照を削除";case"zh_CHT":return"把指向當前文檔的引用刪除";case"it_IT":return"Elimina riferimenti al documento corrente";case"en_US":default:return"Remove references to the current document"}}get VIP密钥(){switch(this.conf.appearance.lang){case"zh_CN":return"VIP密钥";case"es_ES":return"Clave VIP";case"fr_FR":return"Clé VIP";case"ja_JP":return"VIPキー";case"zh_CHT":return"VIP密鑰";case"it_IT":return"Chiave VIP";case"en_US":default:return"VIP Key"}}get 测试密钥的合法性(){switch(this.conf.appearance.lang){case"zh_CN":return"测试密钥的合法性";case"es_ES":return"Probar la legalidad de la clave";case"fr_FR":return"Tester la légalité de la clé";case"ja_JP":return"キーの合法性をテストする";case"zh_CHT":return"測試密鑰的合法性";case"it_IT":return"Verificare la legalità della chiave";case"en_US":default:return"Test the legality of the key"}}get 嵌入互链创建(){switch(this.conf.appearance.lang){case"zh_CN":return"嵌入互链-创建";case"es_ES":return"Crear enlace incrustado";case"fr_FR":return"Créer un lien intégré";case"ja_JP":return"埋め込みリンクの作成";case"zh_CHT":return"嵌入互鏈-創建";case"it_IT":return"Crea collegamento incorporato";case"en_US":default:return"Create Embedded Link"}}get 嵌入互链选择(){switch(this.conf.appearance.lang){case"zh_CN":return"嵌入互链-选择";case"es_ES":return"Seleccionar enlace incrustado";case"fr_FR":return"Sélectionner un lien intégré";case"ja_JP":return"埋め込みリンクの選択";case"zh_CHT":return"嵌入互鏈-選擇";case"it_IT":return"Seleziona collegamento incorporato";case"en_US":default:return"Select Embedded Link"}}get 总是退出聚焦(){switch(this.conf.appearance.lang){case"zh_CN":return"总是退出聚焦(闪卡除外)";case"es_ES":return"Siempre salir de enfoque (excepto tarjetas flash)";case"fr_FR":return"Toujours quitter le focus (sauf pour les cartes mémoire)";case"ja_JP":return"常にフォーカスを外す(カードを除く)";case"zh_CHT":return"總是退出聚焦(閃卡除外)";case"it_IT":return"Esci sempre dallo stato di attenzione (escluse le flashcard)";case"en_US":default:return"Always exit focus (except flashcards)"}}get 块关系图(){switch(this.conf.appearance.lang){case"zh_CN":return"块关系图";case"es_ES":return"Diagrama de relaciones de bloques";case"fr_FR":return"Diagramme de relations de blocs";case"ja_JP":return"ブロック関係図";case"zh_CHT":return"區塊關係圖";case"it_IT":return"Diagramma delle relazioni tra blocchi";case"en_US":default:return"Block Relationship Diagram"}}get 最大连续段落块数量(){switch(this.conf.appearance.lang){case"zh_CN":return"最大连续段落块数量";case"es_ES":return"Cantidad máxima de bloques de párrafos continuos";case"fr_FR":return"Nombre maximal de blocs de paragraphes consécutifs";case"ja_JP":return"連続段落ブロックの最大数";case"zh_CHT":return"最大連續段落塊數量";case"it_IT":return"Numero massimo di blocchi di paragrafi consecutivi";case"en_US":default:return"Maximum consecutive paragraph block count"}}get 最大节点数量(){switch(this.conf.appearance.lang){case"zh_CN":return"最大节点数量";case"es_ES":return"Cantidad máxima de nodos";case"fr_FR":return"Nombre maximal de nœuds";case"ja_JP":return"ノードの最大数";case"zh_CHT":return"最大節點數量";case"it_IT":return"Numero massimo di nodi";case"en_US":default:return"Maximum node count"}}get 块关系图帮助(){switch(this.conf.appearance.lang){case"zh_CN":return"(图中:按住ctrl可以多选节点与连线;backspace可删除节点与连线;可创建连线;alt点击可以定位到文档)(文档中:右键菜单可以定位到图中。快速创建引用可以用双向互链功能)";case"es_ES":return"(Gráfico: mantén presionado ctrl para seleccionar múltiples nodos y conexiones; backspace para eliminar nodos y conexiones; puedes crear conexiones; clic con alt para ir al documento)(En el documento: menú derecho para ir al gráfico. Crea referencias rápidamente usando enlaces bidireccionales)";case"fr_FR":return"(Graphique: maintenez ctrl enfoncé pour sélectionner plusieurs nœuds et connexions; backspace pour supprimer des nœuds et connexions; vous pouvez créer des connexions; clic avec alt pour accéder au document)(Dans le document: menu contextuel pour accéder au graphique. Créez rapidement des références avec la fonction de lien bidirectionnel)";case"ja_JP":return"(図中:Ctrlキーを押しながらノードと線を複数選択、バックスペースでノードと線を削除、線を作成可能、Altクリックでドキュメントにジャンプ)(ドキュメント内:右クリックメニューで図にジャンプ。双方向リンク機能で素早く参照を作成可能)";case"zh_CHT":return"(圖中:按住 Ctrl 可多選節點與連線;Backspace 可刪除節點與連線;可創建連線;Alt 點擊可定位到文檔)(文檔中:右鍵菜單可定位到圖中。快速創建引用可用雙向互鏈功能)";case"it_IT":return"(Grafico: tenere premuto ctrl per selezionare più nodi e connessioni; backspace per eliminare nodi e connessioni; puoi creare connessioni; clic con alt per posizionarsi nel documento)(Nel documento: menu con il tasto destro per posizionarsi nel grafico. Crea riferimenti rapidamente usando il collegamento bidirezionale)";case"en_US":default:return"(Graph: hold ctrl to multi-select nodes and connections; backspace to delete nodes and connections; you can create connections; alt-click to navigate to document)(In document: right-click menu to navigate to graph. Quickly create references using bidirectional linking feature)"}}get 定位到文档(){switch(this.conf.appearance.lang){case"zh_CN":return"定位到文档";case"es_ES":return"Ir al documento";case"fr_FR":return"Aller au document";case"ja_JP":return"ドキュメントに移動";case"zh_CHT":return"定位到文檔";case"it_IT":return"Vai al documento";case"en_US":default:return"Go to document"}}get 定位到图中的节点(){switch(this.conf.appearance.lang){case"zh_CN":return"定位到图中节点";case"es_ES":return"Ir al nodo en la gráfica";case"fr_FR":return"Aller au nœud dans le graphique";case"ja_JP":return"グラフ内のノードに移動";case"zh_CHT":return"定位到圖中節點";case"it_IT":return"Vai al nodo nel grafico";case"en_US":default:return"Go to node in graph"}}get 关联两个块选择(){switch(this.conf.appearance.lang){case"zh_CN":return"关联两个块-选择";case"es_ES":return"Asociar dos bloques - Selección";case"fr_FR":return"Associer deux blocs - Sélection";case"ja_JP":return"2つのブロックを関連付ける - 選択";case"zh_CHT":return"關聯兩個區塊 - 選擇";case"it_IT":return"Associa due blocchi - Selezione";case"en_US":default:return"Associate two blocks - Selection"}}get 关联两个块创建(){switch(this.conf.appearance.lang){case"zh_CN":return"关联两个块-创建";case"es_ES":return"Asociar dos bloques - Creación";case"fr_FR":return"Associer deux blocs - Création";case"ja_JP":return"2つのブロックを関連付ける - 作成";case"zh_CHT":return"關聯兩個區塊 - 建立";case"it_IT":return"Associa due blocchi - Creazione";case"en_US":default:return"Associate two blocks - Creation"}}get 切换横向与纵向(){switch(this.conf.appearance.lang){case"zh_CN":return"切换横向与纵向";case"es_ES":return"Cambiar entre horizontal y vertical";case"fr_FR":return"Basculer entre horizontal et vertical";case"ja_JP":return"横向と縦向を切り替える";case"zh_CHT":return"切換橫向與縱向";case"it_IT":return"Cambia tra orizzontale e verticale";case"en_US":default:return"Switch between horizontal and vertical"}}get 删除所选段落(){switch(this.conf.appearance.lang){case"zh_CN":return"用选中段落创建文档后,删除所选段落";case"es_ES":return"Después de crear un documento con los párrafos seleccionados, eliminar los párrafos seleccionados";case"fr_FR":return"Après avoir créé un document avec les paragraphes sélectionnés, supprimer les paragraphes sélectionnés";case"ja_JP":return"選択した段落でドキュメントを作成した後、選択した段落を削除する";case"zh_CHT":return"用選中段落創建文檔後,刪除所選段落";case"it_IT":return"Dopo aver creato un documento con i paragrafi selezionati, eliminare i paragrafi selezionati";case"en_US":default:return"After creating a document with the selected paragraphs, delete the selected paragraphs"}}get 正在添加阅读点(){switch(this.conf.appearance.lang){case"zh_CN":return"正在添加阅读点";case"es_ES":return"Añadiendo punto de lectura";case"fr_FR":return"Ajout d'un point de lecture";case"ja_JP":return"読書ポイントを追加中";case"zh_CHT":return"正在添加閱讀點";case"it_IT":return"Aggiunta del punto di lettura";case"en_US":default:return"Adding reading point"}}get aaa(){switch(this.conf.appearance.lang){case"zh_CN":return"aaa";case"es_ES":return;case"fr_FR":return;case"ja_JP":return;case"zh_CHT":return;case"it_IT":return;case"en_US":default:return}}}const ff=new Af;function oc(n){return n.startsWith("```")||n.startsWith("> ")||n.startsWith("$$")||n.startsWith("
")||n.startsWith("{{{row")||n.startsWith("{{{col")}function lf(n,e="/"){if(n){const c=df(n,{toneType:"symbol",multiple:!0,type:"all"}).filter(o=>(o.origin=Oo(o.origin)??"",o.origin=o.origin.trim(),o.origin.length>0)).map(o=>{const i=o.polyphonic.filter(O=>O!=o.pinyin);return i.splice(0,0,o.pinyin),{origin:o.origin,pys:i}}).filter(({pys:o})=>o.filter(i=>!!i).length>0),b=c.map(({origin:o,pys:i})=>`${o}${i.join(e)}`).join(" "),z=c.map(({origin:o,pys:i})=>`${o}${i[0]}`).join(" "),a=c.map(({pys:o})=>o[0]).join(" "),r=c.map(({origin:o})=>o).join(" ");return{allPY:b,onePY:z,pyOnly:a,originOnly:r}}return{}}class hf{constructor(e){U(this,"openedTab");U(this,"plugin");this.plugin=e}async open(e,t){var c;e&&((c=this.openedTab)==null||c.close(),this.openedTab=await J1(this.plugin,e,t))}}function Xo(n){return n==null?void 0:n.map(e=>{const t=e.cloneNode(!0);at(t);const c=so(t);return Oo(c).replace(/\n+/g,`
`)}).filter(e=>!!e).reduce((e,t)=>(e.push(t),e),[]).join(`
-`)}async function J1(n,e,t,c,b,z){if(!(t=="0"||t=="nop"))if(L0.isMobile)X0.openMobileFileById(n.app,e);else{c==null&&(c=["cb-get-context","cb-get-focus"]);let a=null;switch(t){case"5":case"move":X0.openWindow({doc:{id:e}});return;case"1":case"front":default:t=null,a=!1;break;case"2":case"back":t=null,a=!0;break;case"3":case"right":t="right",a=!0;break;case"4":case"bottom":t="bottom",a=!0;break;case"6":case"peek":t=null,a=!1;const r=b;b=()=>{z&&setTimeout(()=>{X0.openTab({app:n.app,doc:{id:z,action:c,zoomIn:!1},position:t,keepCursor:a})},1500),r&&r()};break}return X0.openTab({app:n.app,doc:{id:e,action:c,zoomIn:!1},position:t,keepCursor:a,afterOpen:b})}}function hf(n){return{NodeDocument:"d",NodeHeading:"h",NodeList:"l",NodeListItem:"i",NodeCodeBlock:"c",NodeMathBlock:"m",NodeTable:"t",NodeBlockquote:"b",NodeSuperBlock:"s",NodeParagraph:"p",NodeHTMLBlock:"html",NodeBlockQueryEmbed:"query_embed",NodeAttributeView:"av",NodeKramdownBlockIAL:"ial",NodeIFrame:"iframe",NodeWidget:"widget",NodeThematicBreak:"tb",NodeVideo:"video",NodeAudio:"audio"}[n]}async function Xo(n,e,t,c,b,z){if(!(b>z)){n.children||(n.children=[]);for(const a of e.childNodes){const r=a;if(!r.getAttribute)continue;const o={id:r.getAttribute(c1),type:hf(r.getAttribute(q1))};o.id&&(o.div=r,!(t&&Ii.includes(o.type)&&(o.type==="m"?o.content=r.getAttribute("data-content"):o.content=r.textContent.replaceAll("","").trim(),!c&&!o.content))&&(o.subtype=r.getAttribute(Qn),o.type==="s"&&(o.subtype=r.getAttribute("data-sb-layout")),o.idx=parseInt(r.getAttribute(Zt)),o.docName=n.content,o.root_id=n.root_id,o.parent_id=n.id,o.parent=n,o.children=[],n.children.push(o),Ei.includes(o.type)&&Xo(o,r,t,c,b+1,z)))}return{root:n,div:e}}}async function ko(n,e,t=!0,c=!0,b=Number.MAX_SAFE_INTEGER){const z={id:n,type:"d",docName:e,content:e,subtype:"",root_id:n,parent_id:n},{root:a,div:r}=await A.getBlockDOM(z.id).then(({dom:o})=>{const i=document.createElement("div");return i.innerHTML="
"+o+"
",Xo(z,i.firstElementChild,t,c,1,b)});return{root:a,div:r}}class qf{constructor(){U(this,"conf")}init(){this.conf=h2.config}get aaa(){switch(this.conf.appearance.lang){case"zh_CN":return"bbb";case"es_ES":return;case"fr_FR":return;case"ja_JP":return;case"zh_CHT":return;case"it_IT":return;case"en_US":default:return}}get 上一页(){switch(this.conf.appearance.lang){case"zh_CN":return"上一页";case"es_ES":return"Anterior";case"fr_FR":return"Précédent";case"ja_JP":return"前へ";case"zh_CHT":return"上一頁";case"it_IT":return"Precedente";case"en_US":default:return"Previous"}}get 下一页(){switch(this.conf.appearance.lang){case"zh_CN":return"下一页";case"es_ES":return"Siguiente";case"fr_FR":return"Suivant";case"ja_JP":return"次へ";case"zh_CHT":return"下一頁";case"it_IT":return"Successivo";case"en_US":default:return"Next"}}get 原地制卡(){switch(this.conf.appearance.lang){case"zh_CN":return"原地制卡";case"es_ES":return"Crear tarjeta en sitio";case"fr_FR":return"Créer une carte sur place";case"ja_JP":return"現地でカード作成";case"zh_CHT":return"現場製卡";case"it_IT":return"Crea carta in loco";case"en_US":default:return"Create card on site"}}get 显示上一个分片的最后一个块(){switch(this.conf.appearance.lang){case"zh_CN":return"显示上一个分片的最后一个块";case"es_ES":return"Mostrar el último bloque del fragmento anterior";case"fr_FR":return"Afficher le dernier bloc du fragment précédent";case"ja_JP":return"前のセグメントの最後のブロックを表示";case"zh_CHT":return"顯示上一個分片的最後一個塊";case"it_IT":return"Mostra l'ultimo blocco del frammento precedente";case"en_US":default:return"Show the last block of the previous fragment"}}get 总字数(){switch(this.conf.appearance.lang){case"zh_CN":return"总字数 ";case"es_ES":return"Número total de palabras";case"fr_FR":return"Nombre total de mots";case"ja_JP":return"総単語数";case"zh_CHT":return"總字數 ";case"it_IT":return"Numero totale di parole";case"en_US":default:return"Total word count"}}平均每个标题下有x块(e){switch(this.conf.appearance.lang){case"zh_CN":return`平均每个标题下有 : ${e} 个块`;case"es_ES":return`Promedio de bloques por título: ${e} bloques`;case"fr_FR":return`Moyenne de blocs par titre : ${e} blocs`;case"ja_JP":return`平均タイトルごとのブロック数:${e} ブロック`;case"zh_CHT":return`平均每個標題下有 : ${e} 個塊`;case"it_IT":return`Media di blocchi per titolo: ${e} blocchi`;case"en_US":default:return`Average number of blocks per title: ${e} blocks`}}平均每个块的字数(e){switch(this.conf.appearance.lang){case"zh_CN":return`平均每个块的字数 : ${e} 个字`;case"es_ES":return`Promedio de palabras por bloque: ${e} palabras`;case"fr_FR":return`Moyenne de mots par bloc : ${e} mots`;case"ja_JP":return`平均ブロックごとの単語数:${e} 語`;case"zh_CHT":return`平均每個塊的字數 : ${e} 個字`;case"it_IT":return`Media di parole per blocco: ${e} parole`;case"en_US":default:return`Average number of words per block: ${e} words`}}平均每个块的文本长度(e){switch(this.conf.appearance.lang){case"zh_CN":return`平均每个块的文本长度: ${e}`;case"es_ES":return`Longitud media de texto por bloque: ${e}`;case"fr_FR":return`Longueur moyenne de texte par bloc : ${e}`;case"ja_JP":return`平均ブロックごとのテキスト長:${e}`;case"zh_CHT":return`平均每個塊的文本長度: ${e}`;case"it_IT":return`Lunghezza media del testo per blocco: ${e}`;case"en_US":default:return`Average text length per block: ${e}`}}get 总文本长度(){switch(this.conf.appearance.lang){case"zh_CN":return"总文本长度";case"es_ES":return"Longitud total del texto";case"fr_FR":return"Longueur totale du texte";case"ja_JP":return"テキストの総長";case"zh_CHT":return"總文本長度";case"it_IT":return"Lunghezza totale del testo";case"en_US":default:return"Total text length"}}get 按文本长度拆分(){switch(this.conf.appearance.lang){case"zh_CN":return"按文本长度拆分,留空为不拆分";case"es_ES":return"Dividir por longitud de texto, dejar en blanco para no dividir";case"fr_FR":return"Diviser par longueur de texte, laisser vide pour ne pas diviser";case"ja_JP":return"テキスト長で分割、空白の場合は分割しません";case"zh_CHT":return"按文本長度拆分,留空為不拆分";case"it_IT":return"Dividi per lunghezza del testo, lascia vuoto per non dividere";case"en_US":default:return"Split by text length, leave empty to not split"}}get 请耐心等待(){switch(this.conf.appearance.lang){case"zh_CN":return"请耐心等待";case"es_ES":return"Por favor, espere";case"fr_FR":return"Veuillez patienter";case"ja_JP":return"しばらくお待ちください";case"zh_CHT":return"請稍等待";case"it_IT":return"Attendere prego";case"en_US":default:return"Please wait"}}get 上网查询所选内容(){switch(this.conf.appearance.lang){case"zh_CN":return"上网查询所选内容";case"es_ES":return"Buscar en línea el contenido seleccionado";case"fr_FR":return"Rechercher en ligne le contenu sélectionné";case"ja_JP":return"選択した内容をオンラインで検索";case"zh_CHT":return"上網查詢所選內容";case"it_IT":return"Cerca online il contenuto selezionato";case"en_US":default:return"Search online for selected content"}}get 在上方插入汉语拼音(){switch(this.conf.appearance.lang){case"zh_CN":return"在上方插入汉语拼音。";case"es_ES":return"Insertar pinyin arriba.";case"fr_FR":return"Insérer le pinyin ci-dessus.";case"ja_JP":return"上にピンインを挿入する。";case"zh_CHT":return"在上方插入漢語拼音。";case"it_IT":return"Inserisci il pinyin sopra.";case"en_US":default:return"Insert pinyin above."}}get 在闪卡底部添加边框(){switch(this.conf.appearance.lang){case"zh_CN":return"在闪卡底部添加边框";case"es_ES":return"Agregar borde en la parte inferior de la tarjeta flash";case"fr_FR":return"Ajouter une bordure en bas de la carte flash";case"ja_JP":return"フラッシュカードの下部にボーダーを追加";case"zh_CHT":return"在閃卡底部添加邊框";case"it_IT":return"Aggiungi bordo in fondo alla scheda flash";case"en_US":default:return"Add border at the bottom of the flashcard"}}get 在闪卡末尾插上一条横线(){switch(this.conf.appearance.lang){case"zh_CN":return"在闪卡末尾插上一条横线";case"es_ES":return"Agregar una línea al final de la tarjeta de memoria";case"fr_FR":return"Ajouter une ligne à la fin de la carte mémoire";case"ja_JP":return"フラッシュカードの末尾に横線を挿入する";case"zh_CHT":return"在閃卡末尾插上一條橫線";case"it_IT":return"Inserisci una linea alla fine della flashcard";case"en_US":default:return"Insert a horizontal line at the end of the flashcard"}}get 新开窗口如何打开(){switch(this.conf.appearance.lang){case"zh_CN":return"新页签: 0不打开,1打开到前台,2打开到后台,3打开到右边,4打开到底部,5移动到新窗口,6打开到前台1秒";case"es_ES":return"Nueva pestaña: 0 no abrir, 1 abrir en primer plano, 2 abrir en segundo plano, 3 abrir a la derecha, 4 abrir en la parte inferior, 5 mover a una nueva ventana, 6 abrir en primer plano durante 1 segundo";case"fr_FR":return"Nouvel onglet : 0 ne pas ouvrir, 1 ouvrir au premier plan, 2 ouvrir en arrière-plan, 3 ouvrir à droite, 4 ouvrir en bas, 5 déplacer vers une nouvelle fenêtre, 6 ouvrir au premier plan pendant 1 seconde";case"ja_JP":return"新しいタブ: 0 開かない, 1 前面に開く, 2 背面に開く, 3 右に開く, 4 下に開く, 5 新しいウィンドウに移動, 6 前面に1秒間開く";case"zh_CHT":return"新頁籤: 0不開啟,1開啟到前台,2開啟到後台,3開啟到右邊,4開啟到底部,5移動到新視窗,6開啟到前台1秒";case"it_IT":return"Nuova scheda: 0 non aprire, 1 aprire in primo piano, 2 aprire in background, 3 aprire a destra, 4 aprire in basso, 5 spostare in una nuova finestra, 6 aprire in primo piano per 1 secondo";case"en_US":default:return"New tab: 0 do not open, 1 open in foreground, 2 open in background, 3 open to the right, 4 open to the bottom, 5 move to new window, 6 open in foreground for 1 second"}}get 对分片制卡额外链接到分片(){switch(this.conf.appearance.lang){case"zh_CN":return"对分片制卡,闪卡除了链接到原文,还额外链接到分片。";case"es_ES":return"Para las tarjetas fragmentadas, las tarjetas flash están adicionalmente vinculadas a los fragmentos además de estar vinculadas al texto original.";case"fr_FR":return"Pour les cartes fragmentées, les cartes flash sont en outre liées aux fragments en plus d'être liées au texte original.";case"ja_JP":return"分割されたカードについて、フラッシュカードは原文にリンクするだけでなく、分割にも追加でリンクします。";case"zh_CHT":return"對分片制卡,閃卡除了鏈接到原文,還額外鏈接到分片。";case"it_IT":return;case"en_US":default:return"For fragmented card making, flashcards are additionally linked to fragments in addition to being linked to the original text."}}get 闪卡的回溯使用链接(){switch(this.conf.appearance.lang){case"zh_CN":return"闪卡的回溯使用链接,否则用引用。";case"es_ES":return"Enlace de retroceso de la tarjeta flash, de lo contrario usa la referencia.";case"fr_FR":return"Lien de retour de la carte flash, sinon utilisez la référence.";case"ja_JP":return"フラッシュカードのリグレッションリンク、それ以外の場合は参照を使用します。";case"zh_CHT":return"閃卡的回溯使用連結,否則用引用。";case"it_IT":return;case"en_US":default:return"Flashcard regression link, otherwise use reference."}}get 制卡时在末尾添加空行(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡时,在末尾添加空行";case"es_ES":return"Al crear una tarjeta, agrega una línea en blanco al final";case"fr_FR":return"Lors de la création d'une carte, ajoutez une ligne vide à la fin";case"ja_JP":return"カード作成時に、末尾に空行を追加します";case"zh_CHT":return"制卡時,在末尾添加空行";case"it_IT":return;case"en_US":default:return"When creating a card, add a blank line at the end"}}get 摘抄不加入回溯链接(){switch(this.conf.appearance.lang){case"zh_CN":return"摘抄不加入回溯链接";case"es_ES":return"Extracto sin enlace retrospectivo";case"fr_FR":return"Extrait sans lien rétrospectif";case"ja_JP":return"引用にリンクを含めない";case"zh_CHT":return"摘抄不加入回溯鏈接";case"it_IT":return;case"en_US":default:return"Excerpt without backlink"}}get 分片不加入回溯链接(){switch(this.conf.appearance.lang){case"zh_CN":return"分片不加入回溯链接";case"es_ES":return"Fragmento no incluido en enlaces retrospectivos";case"fr_FR":return"Fragment non inclus dans les liens de rétrospection";case"ja_JP":return"フラグメントを遡及リンクに含めない";case"zh_CHT":return"分片不加入回溯鏈接";case"it_IT":return;case"en_US":default:return"Fragment not included in backtrace links"}}get 合并所有分片到新文件(){switch(this.conf.appearance.lang){case"zh_CN":return"合并所有分片到新文件";case"es_ES":return"Combinar todos los fragmentos en un nuevo archivo";case"fr_FR":return"Fusionner tous les fragments dans un nouveau fichier";case"ja_JP":return"すべてのフラグメントを新しいファイルにマージ";case"zh_CHT":return"合併所有分片到新文件";case"it_IT":return;case"en_US":default:return"Merge all fragments into a new file"}}get 请先配置AI(){switch(this.conf.appearance.lang){case"zh_CN":return"请先配置 AI";case"es_ES":return"Configure la IA primero";case"fr_FR":return"Configurez l'IA d'abord";case"ja_JP":return"まず AI を設定してください";case"zh_CHT":return"請先配置 AI";case"it_IT":return;case"en_US":default:return"Please configure the AI first"}}get 摘录单词并加入闪卡并用AI解释(){switch(this.conf.appearance.lang){case"zh_CN":return"摘录单词并加入闪卡并用AI解释";case"es_ES":return"Extraer palabras y añadir a tarjetas flash con explicación de IA";case"fr_FR":return"Extraire des mots et ajouter aux fiches flash avec explication par IA";case"ja_JP":return"単語を抜粋してフラッシュカードに追加し、AIによる説明を行う";case"zh_CHT":return"摘錄單詞並加入閃卡並用AI解釋";case"it_IT":return;case"en_US":default:return"Extract words and add to flashcards with AI explanation"}}get 请选择词语(){switch(this.conf.appearance.lang){case"zh_CN":return"请选择词语";case"es_ES":return"Por favor, selecciona la palabra";case"fr_FR":return"Veuillez sélectionner le mot";case"ja_JP":return"単語を選択してください";case"zh_CHT":return"請選擇詞語";case"it_IT":return;case"en_US":default:return"Please select the word"}}get 摘录单词(){switch(this.conf.appearance.lang){case"zh_CN":return"摘录单词";case"es_ES":return"Extraer palabras";case"fr_FR":return"Extraire des mots";case"ja_JP":return"単語を抜粋する";case"zh_CHT":return"摘錄單詞";case"it_IT":return;case"en_US":default:return"Extract words"}}get 摘录单词并加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"摘录单词并加入闪卡";case"es_ES":return"Extraer palabras y añadir a tarjetas flash";case"fr_FR":return"Extraire des mots et ajouter aux fiches";case"ja_JP":return"単語を抜粋してフラッシュカードに追加";case"zh_CHT":return"摘錄單詞並加入閃卡";case"it_IT":return;case"en_US":default:return"Extract words and add to flashcards"}}get 渐进学习的设置(){switch(this.conf.appearance.lang){case"zh_CN":return"渐进学习的设置";case"es_ES":return"Configuración de aprendizaje progresivo";case"fr_FR":return"Paramètres d'apprentissage progressif";case"ja_JP":return"段階的な学習の設定";case"zh_CHT":return"漸進學習的設定";case"it_IT":return;case"en_US":default:return"Progressive Learning Settings"}}get 渐进学习(){switch(this.conf.appearance.lang){case"zh_CN":return"渐进学习";case"es_ES":return"Aprendizaje progresivo";case"fr_FR":return"Apprentissage progressif";case"ja_JP":return"段階的学習";case"zh_CHT":return"漸進學習";case"it_IT":return;case"en_US":default:return"Progressive learning"}}get 按标点断句列表(){switch(this.conf.appearance.lang){case"zh_CN":return"按标点断句,形成列表/大纲";case"es_ES":return"Segmentar por puntuación, formar lista/esquema";case"fr_FR":return"Segmenter par ponctuation, former une liste/un plan";case"ja_JP":return"句読点で区切り、リスト/アウトラインを作成する";case"zh_CHT":return"按標點斷句,形成列表/大綱";case"it_IT":return;case"en_US":default:return"Segment by punctuation, form list/outline"}}get 按标点断句Checkbox(){switch(this.conf.appearance.lang){case"zh_CN":return"按标点断句,形成任务列表(可以ctrl+enter勾选任务)";case"es_ES":return"Segmentar por puntuación, formar lista de tareas (puede seleccionar tareas con ctrl+enter)";case"fr_FR":return"Segmenter par ponctuation, former une liste de tâches (vous pouvez cocher les tâches avec ctrl+enter)";case"ja_JP":return"句読点で区切り、タスクリストを作成する(ctrl+enterでタスクをチェックできます)";case"zh_CHT":return"按標點斷句,形成任務列表(可以ctrl+enter勾選任務)";case"it_IT":return;case"en_US":default:return"Segment by punctuation, form task list (you can check tasks with ctrl+enter)"}}get 按标点断句(){switch(this.conf.appearance.lang){case"zh_CN":return"按标点断句";case"es_ES":return"Segmentar por puntuación";case"fr_FR":return"Segmenter par ponctuation";case"ja_JP":return"句読点で区切る";case"zh_CHT":return"按標點斷句";case"it_IT":return;case"en_US":default:return"Segment by punctuation"}}get 不再推送本书(){switch(this.conf.appearance.lang){case"zh_CN":return"不再为我推送本书,可在顶栏的[查看所有渐进学习文档]中开启推送";case"es_ES":return"No enviar más este libro, puedes habilitar el envío en [Ver todos los documentos de aprendizaje progresivo] en la barra superior";case"fr_FR":return"Ne plus envoyer ce livre, vous pouvez activer l'envoi dans [Voir tous les documents d'apprentissage progressif] dans la barre supérieure";case"ja_JP":return"この本をもう送らないでください、トップバーの[すべての段階的学習ドキュメントを表示]で送信を有効にできます";case"zh_CHT":return"不再為我推送本書,可在頂欄的[查看所有漸進學習文檔]中開啟推送";case"it_IT":return;case"en_US":default:return"No longer push this book for me, can turn on push in [View all progressive learning documents] in the top bar"}}get 删除分片并退出(){switch(this.conf.appearance.lang){case"zh_CN":return"删除分片并结束阅读";case"es_ES":return"Eliminar fragmento y terminar la lectura";case"fr_FR":return"Supprimer le fragment et terminer la lecture";case"ja_JP":return"フラグメントを削除して読み終える";case"zh_CHT":return"刪除分片並結束閱讀";case"it_IT":return;case"en_US":default:return"Delete fragment and end reading"}}get 删除文档闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"删除文档闪卡";case"es_ES":return"Eliminar tarjeta de documento";case"fr_FR":return"Supprimer la fiche document";case"ja_JP":return"ドキュメントカードを削除する";case"zh_CHT":return"刪除文檔閃卡";case"it_IT":return;case"en_US":default:return"Delete document flashcard"}}get 将文档加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"将文档加入闪卡";case"es_ES":return"Agregar el documento a la tarjeta";case"fr_FR":return"Ajouter le document à la fiche";case"ja_JP":return"ドキュメントをカードに追加する";case"zh_CHT":return"將文檔加入閃卡";case"it_IT":return;case"en_US":default:return"Add document to flashcard"}}get 换一本书看(){switch(this.conf.appearance.lang){case"zh_CN":return"换一本书来看";case"es_ES":return"Cambia a otro libro para leer";case"fr_FR":return"Changez de livre à lire";case"ja_JP":return"別の本を読む";case"zh_CHT":return"換一本書來看";case"it_IT":return;case"en_US":default:return"Switch to another book to read"}}get 删除分片看下一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"删除分片,看下一个分片";case"es_ES":return"Eliminar fragmento, ver el siguiente fragmento";case"fr_FR":return"Supprimer le fragment, voir le prochain fragment";case"ja_JP":return"フラグメントを削除し、次のフラグメントを見る";case"zh_CHT":return"刪除分片,看下一個分片";case"it_IT":return;case"en_US":default:return"Delete fragment, see the next fragment"}}get 删除分片看上一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"删除分片,看上一个分片";case"es_ES":return"Eliminar fragmento, ver el fragmento anterior";case"fr_FR":return"Supprimer le fragment, voir le fragment précédent";case"ja_JP":return"フラグメントを削除し、前のフラグメントを見る";case"zh_CHT":return"刪除分片,看上一個分片";case"it_IT":return;case"en_US":default:return"Delete fragment, see the previous fragment"}}get 打开本书的闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"打开本书的闪卡";case"es_ES":return"Abre las tarjetas flash de este libro";case"fr_FR":return"Ouvrez les flashcards de ce livre";case"ja_JP":return"この本のフラッシュカードを開く";case"zh_CHT":return"打開本書的閃卡";case"it_IT":return;case"en_US":default:return"Open the flashcards of this book"}}get 关闭分片(){switch(this.conf.appearance.lang){case"zh_CN":return"关闭分片";case"es_ES":return"Cerrar fragmento";case"fr_FR":return"Fermer le fragment";case"ja_JP":return"フラグメントを閉じる";case"zh_CHT":return"關閉分片";case"it_IT":return;case"en_US":default:return"Close fragment"}}get 重新插入分片内容(){switch(this.conf.appearance.lang){case"zh_CN":return"重新插入分片的内容";case"es_ES":return"Reinsertar el contenido del fragmento";case"fr_FR":return"Réinsérer le contenu du fragment";case"ja_JP":return"フラグメントの内容を再挿入する";case"zh_CHT":return"重新插入分片的內容";case"it_IT":return;case"en_US":default:return"Reinsert fragment content"}}get 删除原文(){switch(this.conf.appearance.lang){case"zh_CN":return"删除原文";case"es_ES":return"Eliminar el texto original";case"fr_FR":return"Supprimer le texte original";case"ja_JP":return"オリジナルのテキストを削除する";case"zh_CHT":return"刪除原文";case"it_IT":return;case"en_US":default:return"Delete original text"}}get 下一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"下一个分片";case"es_ES":return"Siguiente fragmento";case"fr_FR":return"Prochain fragment";case"ja_JP":return"次の断片";case"zh_CHT":return"下一個片段";case"it_IT":return;case"en_US":default:return"Next fragment"}}get 上一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"上一个分片";case"es_ES":return"Fragmento anterior";case"fr_FR":return"Fragment précédent";case"ja_JP":return"前の断片";case"zh_CHT":return"上一個片段";case"it_IT":return;case"en_US":default:return"Previous fragment"}}get 打开目录(){switch(this.conf.appearance.lang){case"zh_CN":return"打开目录";case"es_ES":return"Abrir directorio";case"fr_FR":return"Ouvrir le répertoire";case"ja_JP":return"ディレクトリを開く";case"zh_CHT":return"開啟目錄";case"it_IT":return;case"en_US":default:return"Open directory"}}get altshift总是收集到dailynote(){switch(this.conf.appearance.lang){case"zh_CN":return"alt+shift+z总是收集到dailynote";case"es_ES":return"alt+shift+z siempre recoge a dailynote";case"fr_FR":return"alt+shift+z recueille toujours à dailynote";case"ja_JP":return"alt+shift+zは常にdailynoteに集めます";case"zh_CHT":return"alt+shift+z總是收集到dailynote";case"it_IT":return;case"en_US":default:return"alt+shift+z always collects to dailynote"}}get 制卡后追加时间与标题路径(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡后追加时间与标题路径";case"es_ES":return"Después de hacer la tarjeta, añada tiempo y ruta del título";case"fr_FR":return"Après avoir fait la carte, ajoutez du temps et le chemin du titre";case"ja_JP":return"カード作成後、時間とタイトルパスを追加";case"zh_CHT":return"製卡後追加時間與標題路徑";case"it_IT":return;case"en_US":default:return"After card creation, append time and title path"}}get 制卡摘抄改变原文背景(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡、摘抄改变原文背景";case"es_ES":return"Crear tarjetas, extractos cambian el fondo del texto original";case"fr_FR":return"Créer des cartes, extraits changent l'arrière-plan du texte original";case"ja_JP":return"カード作成、抜粋は原文の背景を変更する";case"zh_CHT":return"制卡、摘抄改變原文背景";case"it_IT":return;case"en_US":default:return"Card making, excerpts change the background of the original text"}}get 制卡摘抄在原文处做标记(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡、摘抄在原文处做标记";case"es_ES":return"Hacer tarjeta, hacer anotaciones en el texto original";case"fr_FR":return"Faire une carte, faire des notes dans le texte original";case"ja_JP":return"カードを作り、原文でマークをつける";case"zh_CHT":return"製卡、摘抄在原文處做標記";case"it_IT":return;case"en_US":default:return"Make card, make notes in the original text"}}get 分片内制卡放于分片的子文档内(){switch(this.conf.appearance.lang){case"zh_CN":return"分片内制卡,放于分片的子文档内";case"es_ES":return"Hacer tarjeta dentro del fragmento, colocar en el subdocumento del fragmento";case"fr_FR":return"Faire une carte à l'intérieur du fragment, placer dans le sous-document du fragment";case"ja_JP":return"フラグメント内でカードを作り、フラグメントのサブドキュメントに置く";case"zh_CHT":return"分片內製卡,放於分片的子文檔內";case"it_IT":return;case"en_US":default:return"Make card within fragment, put in the subdocument of the fragment"}}get cards前缀文件(){switch(this.conf.appearance.lang){case"zh_CN":return"'cards-'前缀文件: 每本书用于保存闪卡的文件";case"es_ES":return"Archivo con prefijo 'cards-': Cada libro se utiliza para guardar el archivo de tarjetas";case"fr_FR":return"Fichier avec préfixe 'cards-': Chaque livre sert à sauvegarder le fichier de cartes";case"ja_JP":return"'cards-'プレフィックスのファイル:各書籍はフラッシュカードのファイルを保存するために使用されます";case"zh_CHT":return"'cards-'前綴文件: 每本書用於保存閃卡的文件";case"it_IT":return;case"en_US":default:return"'cards-' prefix file: Each book is used to save the flashcard file"}}get 打开分片的同时打开cards文档(){switch(this.conf.appearance.lang){case"zh_CN":return"打开分片的同时打开cards文档";case"es_ES":return"Abrir el documento de tarjetas al mismo tiempo que se abre el fragmento";case"fr_FR":return"Ouvrir le document de cartes en même temps que le fragment";case"ja_JP":return"フラグメントを開くと同時にカードのドキュメントを開く";case"zh_CHT":return"打開分片的同時打開cards文檔";case"it_IT":return;case"en_US":default:return"Open cards document while opening the fragment"}}get 在闪卡内复习整个分片时隐藏分片下方按钮(){switch(this.conf.appearance.lang){case"zh_CN":return"在闪卡内复习整个分片时,隐藏分片下方按钮";case"es_ES":return"Al revisar todo el fragmento dentro de la tarjeta, ocultar el botón debajo del fragmento";case"fr_FR":return"Lors de la révision de l'ensemble du fragment à l'intérieur de la carte, cacher le bouton sous le fragment";case"ja_JP":return"フラッシュカード内でフラグメント全体を復習する際、フラグメント下のボタンを隠す";case"zh_CHT":return"在閃卡內復習整個分片時,隱藏分片下方按鈕";case"it_IT":return;case"en_US":default:return"When reviewing the entire fragment within the flashcard, hide the button under the fragment"}}get 断句并插入下方(){switch(this.conf.appearance.lang){case"zh_CN":return"断句并插入下方";case"es_ES":return"Fractura e inserta debajo";case"fr_FR":return"Casser et insérer ci-dessous";case"ja_JP":return"文を分割して下に挿入";case"zh_CHT":return"斷句並插入下方";case"it_IT":return;case"en_US":default:return"Break and insert below"}}get 切换单卡多卡模式(){switch(this.conf.appearance.lang){case"zh_CN":return"切换单卡多卡模式";case"es_ES":return"Cambiar modo de tarjeta única a múltiple";case"fr_FR":return"Passer du mode carte unique au mode multi-cartes";case"ja_JP":return"シングルカードモードからマルチカードモードに切り替え";case"zh_CHT":return"切換單卡多卡模式";case"it_IT":return;case"en_US":default:return"Switch single card to multi-card mode"}}get 清理已经完成的摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"清理已经完成的摘抄";case"es_ES":return"Limpiar las citas completadas";case"fr_FR":return"Nettoyer les citations terminées";case"ja_JP":return"完了した引用をクリア";case"zh_CHT":return"清理已經完成的摘抄";case"it_IT":return;case"en_US":default:return"Clean up completed quotes"}}get 这并不是一个摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"这并不是一个摘抄";case"es_ES":return"Esto no es una cita";case"fr_FR":return"Ce n'est pas une citation";case"ja_JP":return"これは引用ではありません";case"zh_CHT":return"這並不是一個摘抄";case"it_IT":return;case"en_US":default:return"This is not a quote"}}get 标记摘抄为完成状态并转移闪卡到其他摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"标记摘抄为完成状态,并转移闪卡到其他摘抄";case"es_ES":return"Marcar la cita como completada y trasladar las tarjetas a otra cita";case"fr_FR":return"Marquer la citation comme terminée et déplacer les flashcards vers une autre citation";case"ja_JP":return"引用を完了とマークし、フラッシュカードを他の引用に移動";case"zh_CHT":return"標記摘抄為完成狀態,並轉移閃卡到其他摘抄";case"it_IT":return;case"en_US":default:return"Mark the quote as completed and move flashcards to another quote"}}get 打开下一个摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"打开下一个摘抄";case"es_ES":return"Abrir la siguiente cita";case"fr_FR":return"Ouvrir la citation suivante";case"ja_JP":return"次の引用を開く";case"zh_CHT":return"打開下一個摘抄";case"it_IT":return;case"en_US":default:return"Open the next quote"}}get 打开前一个摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"打开前一个摘抄";case"es_ES":return"Abrir la cita anterior";case"fr_FR":return"Ouvrir la citation précédente";case"ja_JP":return"前の引用を開く";case"zh_CHT":return"打開前一個摘抄";case"it_IT":return;case"en_US":default:return"Open the previous quote"}}get 查看摘抄轨迹链(){switch(this.conf.appearance.lang){case"zh_CN":return"查看摘抄轨迹链";case"es_ES":return"Ver cadena de trazas de extracto";case"fr_FR":return"Voir la chaîne de traces d'extrait";case"ja_JP":return"抽出トレースチェーンを見る";case"zh_CHT":return"查看摘抄軌跡鏈";case"it_IT":return;case"en_US":default:return"View excerpt trace chain"}}get 摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"摘抄";case"es_ES":return"Extracto";case"fr_FR":return"Extrait";case"ja_JP":return"抽出";case"zh_CHT":return"摘抄";case"it_IT":return;case"en_US":default:return"Excerpt"}}get 不删除已经产生的分片等文件(){switch(this.conf.appearance.lang){case"zh_CN":return"不删除已经产生的分片等文件";case"es_ES":return"No eliminar archivos de fragmentos ya generados, etc.";case"fr_FR":return"Ne pas supprimer les fichiers de fragments déjà générés, etc.";case"ja_JP":return"既に生成されたフラグメントなどのファイルを削除しない";case"zh_CHT":return"不刪除已經產生的分片等文件";case"it_IT":return;case"en_US":default:return"Do not delete already generated fragment files, etc."}}get 删除(){switch(this.conf.appearance.lang){case"zh_CN":return"删除";case"es_ES":return"Eliminar";case"fr_FR":return"Supprimer";case"ja_JP":return"削除";case"zh_CHT":return"刪除";case"it_IT":return;case"en_US":default:return"Delete"}}get 重新分片(){switch(this.conf.appearance.lang){case"zh_CN":return"重新分片";case"es_ES":return"Refragmentar";case"fr_FR":return"Refragmenter";case"ja_JP":return"再フラグメンテーション";case"zh_CHT":return"重新分片";case"it_IT":return;case"en_US":default:return"Refragment"}}get 阅读(){switch(this.conf.appearance.lang){case"zh_CN":return"阅读";case"es_ES":return"Leer";case"fr_FR":return"Lire";case"ja_JP":return"読む";case"zh_CHT":return"閱讀";case"it_IT":return;case"en_US":default:return"Read"}}get 断句(){switch(this.conf.appearance.lang){case"zh_CN":return"断句";case"es_ES":return"Segmentación de frases";case"fr_FR":return"Segmentation de phrases";case"ja_JP":return"フレーズのセグメンテーション";case"zh_CHT":return"斷句";case"it_IT":return;case"en_US":default:return"Sentence segmentation"}}get 末尾(){switch(this.conf.appearance.lang){case"zh_CN":return"末尾块";case"es_ES":return"último bloque";case"fr_FR":return"dernier bloc";case"ja_JP":return"最後のブロック";case"zh_CHT":return"最後一個塊";case"it_IT":return;case"en_US":default:return"last block"}}get 标号(){switch(this.conf.appearance.lang){case"zh_CN":return"添加标号";case"es_ES":return"Agregar etiqueta";case"fr_FR":return"Ajouter une étiquette";case"ja_JP":return"ラベルを追加";case"zh_CHT":return"添加標號";case"it_IT":return;case"en_US":default:return"Add label"}}get 制卡(){switch(this.conf.appearance.lang){case"zh_CN":return"加入闪卡";case"es_ES":return"Añadir tarjeta";case"fr_FR":return"Ajouter une carte";case"ja_JP":return"カードを追加";case"zh_CHT":return"加入閃卡";case"it_IT":return;case"en_US":default:return"Add card"}}get 忽略(){switch(this.conf.appearance.lang){case"zh_CN":return"忽略";case"es_ES":return"Ignorar";case"fr_FR":return"Ignorer";case"ja_JP":return"無視する";case"zh_CHT":return"忽略";case"it_IT":return;case"en_US":default:return"Ignore"}}get 进度(){switch(this.conf.appearance.lang){case"zh_CN":return"进度";case"es_ES":return"Progreso";case"fr_FR":return"Progression";case"ja_JP":return"進行状況";case"zh_CHT":return"進度";case"it_IT":return;case"en_US":default:return"Progress"}}get 书名(){switch(this.conf.appearance.lang){case"zh_CN":return"书名";case"es_ES":return"Título del libro";case"fr_FR":return"Titre du livre";case"ja_JP":return"書籍名";case"zh_CHT":return"書名";case"it_IT":return;case"en_US":default:return"Book title"}}get 只删除记录与辅助数据不删除分片不删除闪卡等删除(){switch(this.conf.appearance.lang){case"zh_CN":return"只删除记录与辅助数据,不删除分片,不删除闪卡等。
删除:";case"es_ES":return"Solo elimina registros y datos auxiliares, no elimina fragmentos, tarjetas, etc.
Eliminar:";case"fr_FR":return"Supprime uniquement les enregistrements et les données d'assistance, sans supprimer les fragments, les cartes, etc.
Supprimer:";case"ja_JP":return"レコードと補助データのみを削除し、フラグメントやカードなどは削除しません。
削除:";case"zh_CHT":return"只刪除記錄與輔助數據,不刪除分片,不刪除閃卡等。
刪除:";case"it_IT":return;case"en_US":default:return"Only delete records and auxiliary data, do not delete fragments, flash cards, etc.
Delete:"}}get 找不到此书籍(){switch(this.conf.appearance.lang){case"zh_CN":return"找不到此书籍";case"es_ES":return"No se puede encontrar este libro";case"fr_FR":return"Impossible de trouver ce livre";case"ja_JP":return"この本が見つかりません";case"zh_CHT":return"找不到此書籍";case"it_IT":return;case"en_US":default:return"Cannot find this book"}}x处修改完成(e){switch(this.conf.appearance.lang){case"zh_CN":return`${e}处修改完成!`;case"es_ES":return`${e} cambios realizados!`;case"fr_FR":return`${e} modifications effectuées!`;case"ja_JP":return`${e}箇所の変更が完了しました!`;case"zh_CHT":return`${e}處修改完成!`;case"it_IT":return;case"en_US":default:return`${e} changes made!`}}get 扫描索引中请耐心等待(){switch(this.conf.appearance.lang){case"zh_CN":return"扫描索引中,请耐心等待……";case"es_ES":return"Indexando, por favor espere...";case"fr_FR":return"Indexation en cours, veuillez patienter...";case"ja_JP":return"インデックス作成中、お待ちください...";case"zh_CHT":return"掃描索引中,請耐心等待……";case"it_IT":return;case"en_US":default:return"Indexing, please wait..."}}get 正在替换start与add替换为超链接(){switch(this.conf.appearance.lang){case"zh_CN":return"正在替换'*'与'@'替换为超链接……";case"es_ES":return"Reemplazando '*' y '@' con enlaces...";case"fr_FR":return"Remplacement de '*' et '@' par des liens...";case"ja_JP":return"'*'と'@'をリンクに置き換え中...";case"zh_CHT":return"正在替換'*'與'@'替換為超連結……";case"it_IT":return;case"en_US":default:return"Replacing '*' and '@' with links..."}}get 即将创建本地备份(){switch(this.conf.appearance.lang){case"zh_CN":return"即将创建本地备份";case"es_ES":return"Creando una copia de seguridad local...";case"fr_FR":return"Création d'une sauvegarde locale...";case"ja_JP":return"ローカルバックアップを作成します...";case"zh_CHT":return"即將創建本地備份";case"it_IT":return;case"en_US":default:return"Creating a local backup..."}}get startAdd替换为超链接(){switch(this.conf.appearance.lang){case"zh_CN":return"⚠️'*'与'@'替换为超链接";case"es_ES":return"⚠️'*' y '@' se reemplazan por enlaces";case"fr_FR":return"⚠️'*' et '@' sont remplacés par des liens";case"ja_JP":return"⚠️'*'と'@'はリンクに置き換えられます";case"zh_CHT":return"⚠️'*'與'@'替換為超連結";case"it_IT":return;case"en_US":default:return"⚠️'*' and '@' are replaced with links"}}get 给分片内段落标上序号(){switch(this.conf.appearance.lang){case"zh_CN":return"给分片内段落标上序号";case"es_ES":return"Numerando párrafos en fragmentos";case"fr_FR":return"Numérotation des paragraphes dans les fragments";case"ja_JP":return"フラグメント内の段落に番号を付ける";case"zh_CHT":return"給分片內段落標上序號";case"it_IT":return;case"en_US":default:return"Numbering paragraphs in fragments"}}get 自动断句(){switch(this.conf.appearance.lang){case"zh_CN":return"自动断句";case"es_ES":return"Autopuntuación";case"fr_FR":return"Auto-punctuation";case"ja_JP":return"自動句点";case"zh_CHT":return"自動斷句";case"it_IT":return;case"en_US":default:return"Auto-punctuation"}}get cancel取消(){switch(this.conf.appearance.lang){case"zh_CN":return"取消";case"es_ES":return"cancelar";case"fr_FR":return"annuler";case"ja_JP":return"キャンセル";case"zh_CHT":return"取消";case"it_IT":return;case"en_US":default:return"cancel"}}get 显示上一分片最后一个内容块(){switch(this.conf.appearance.lang){case"zh_CN":return"显示上一分片最后一个内容块";case"es_ES":return"mostrar el último bloque de contenido del fragmento anterior";case"fr_FR":return"afficher le dernier bloc de contenu du fragment précédent";case"ja_JP":return"前のフラグメントの最後のコンテンツブロックを表示";case"zh_CHT":return"顯示上一分片最後一個內容塊";case"it_IT":return;case"en_US":default:return"show the last content block of the previous fragment"}}get 断句为无序表(){switch(this.conf.appearance.lang){case"zh_CN":return"断句为无序表";case"es_ES":return"frasear como lista desordenada";case"fr_FR":return"phraser comme une liste non ordonnée";case"ja_JP":return"無秩序なリストとしてフレーズ";case"zh_CHT":return"斷句為無序表";case"it_IT":return;case"en_US":default:return"phrase as an unordered list"}}get 断句为任务块(){switch(this.conf.appearance.lang){case"zh_CN":return"断句为任务块";case"es_ES":return"frasear como bloque de tarea";case"fr_FR":return"phraser comme un bloc de tâche";case"ja_JP":return"タスクブロックとしてフレーズ";case"zh_CHT":return"斷句為任務塊";case"it_IT":return;case"en_US":default:return"phrase as a task block"}}get 断句为段落块(){switch(this.conf.appearance.lang){case"zh_CN":return"断句为段落块";case"es_ES":return"frasear como bloque de párrafo";case"fr_FR":return"phraser comme un bloc de paragraphe";case"ja_JP":return"段落ブロックとしてフレーズ";case"zh_CHT":return"斷句為段落塊";case"it_IT":return;case"en_US":default:return"phrase as a paragraph block"}}get 不断句(){switch(this.conf.appearance.lang){case"zh_CN":return"不断句";case"es_ES":return"no frases";case"fr_FR":return"pas de phrases";case"ja_JP":return"フレーズなし";case"zh_CHT":return"不斷句";case"it_IT":return;case"en_US":default:return"no phrases"}}get 新建分片时给段落标上序号(){switch(this.conf.appearance.lang){case"zh_CN":return"新建分片时,给段落标上序号";case"es_ES":return"al crear un nuevo fragmento, numerar los párrafos";case"fr_FR":return"lors de la création d'un nouveau fragment, numéroter les paragraphes";case"ja_JP":return"新しいフラグメントを作成するときに段落に番号をつける";case"zh_CHT":return"新建分片時,給段落標上序號";case"it_IT":return;case"en_US":default:return"when creating a new fragment, number the paragraphs"}}get 把阅读到的分片设置为闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"把阅读到的分片设置为闪卡";case"es_ES":return"Establecer el fragmento leído como tarjeta de memoria";case"fr_FR":return"Définir le fragment lu comme flashcard";case"ja_JP":return"読んだフラグメントをフラッシュカードに設定する";case"zh_CHT":return"將讀到的片段設置為閃卡";case"it_IT":return;case"en_US":default:return"Set the read fragment as flashcard"}}get 只有一个摘抄加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"只有一个摘抄加入闪卡";case"es_ES":return"Sólo un extracto se añade a la tarjeta de memoria";case"fr_FR":return"Seul un extrait est ajouté à la flashcard";case"ja_JP":return"抜粋はフラッシュカードに一つだけ追加されます";case"zh_CHT":return"只有一個摘錄加入閃卡";case"it_IT":return;case"en_US":default:return"Only one excerpt is added to flashcard"}}get 每个摘抄都加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"每个摘抄都加入闪卡";case"es_ES":return"Cada extracto se añade a la tarjeta de memoria";case"fr_FR":return"Chaque extrait est ajouté à la flashcard";case"ja_JP":return"各抜粋がフラッシュカードに追加されます";case"zh_CHT":return"每個摘錄都加入閃卡";case"it_IT":return;case"en_US":default:return"Each excerpt is added to flashcard"}}get 移动到下一分片内(){switch(this.conf.appearance.lang){case"zh_CN":return"移动到下一分片内";case"es_ES":return"Mover al siguiente fragmento";case"fr_FR":return"Passer au fragment suivant";case"ja_JP":return"次のフラグメントに移動する";case"zh_CHT":return"移動到下一片段內";case"it_IT":return;case"en_US":default:return"Move to the next fragment"}}get 移动到上一分片内(){switch(this.conf.appearance.lang){case"zh_CN":return"移动到上一分片内";case"es_ES":return"Mover al fragmento anterior";case"fr_FR":return"Passer au fragment précédent";case"ja_JP":return"前のフラグメントに移動する";case"zh_CHT":return"移動到上一片段內";case"it_IT":return;case"en_US":default:return"Move to the previous fragment"}}get 构建打开目录中请稍后片刻(){switch(this.conf.appearance.lang){case"zh_CN":return"构建/打开目录中,请稍后片刻……";case"es_ES":return"Construyendo/abriendo el directorio, por favor espere un momento...";case"fr_FR":return"Construction/ouverture du répertoire, veuillez patienter un instant...";case"ja_JP":return"ディレクトリを作成/開く中、少々お待ちください...";case"zh_CHT":return"建立/開啟目錄中,請稍後片刻……";case"it_IT":return;case"en_US":default:return"Building/opening directory, please wait a moment..."}}get 首次构建目录请稍后片刻(){switch(this.conf.appearance.lang){case"zh_CN":return"首次,构建目录,请稍后片刻……";case"es_ES":return"Primera vez, construyendo el directorio, por favor espere un momento...";case"fr_FR":return"Première fois, construction du répertoire, veuillez patienter un instant...";case"ja_JP":return"初めて、ディレクトリを作成中、少々お待ちください...";case"zh_CHT":return"首次,建立目錄,請稍後片刻……";case"it_IT":return;case"en_US":default:return"First time, building directory, please wait a moment..."}}get 找不到分片内容(){switch(this.conf.appearance.lang){case"zh_CN":return"找不到分片内容";case"es_ES":return"No se puede encontrar el contenido del fragmento";case"fr_FR":return"Contenu du fragment introuvable";case"ja_JP":return"フラグメントの内容が見つかりません";case"zh_CHT":return"找不到片段內容";case"it_IT":return;case"en_US":default:return"Cannot find fragment content"}}get 各级标题数(){switch(this.conf.appearance.lang){case"zh_CN":return"各级标题数";case"es_ES":return"Número de títulos de cada nivel";case"fr_FR":return"Nombre de titres de chaque niveau";case"ja_JP":return"各レベルのタイトル数";case"zh_CHT":return"各級標題數";case"it_IT":return;case"en_US":default:return"Number of titles at each level"}}get 总内容块数(){switch(this.conf.appearance.lang){case"zh_CN":return"总内容块数";case"es_ES":return"Número total de bloques de contenido";case"fr_FR":return"Nombre total de blocs de contenu";case"ja_JP":return"総コンテンツブロック数";case"zh_CHT":return"總內容塊數";case"it_IT":return;case"en_US":default:return"Total number of content blocks"}}}const T=new qf;class gf{constructor(e,t,c,b){U(this,"asList");U(this,"noteID");U(this,"bookID");U(this,"textAreas");U(this,"plugin");this.noteID=c,this.asList=b,this.plugin=t,this.bookID=e}async insert(e=!0){return navigator.locks.request("prog.SplitSentence.insert",{ifAvailable:!0},async t=>{if(t){let c;const b=[];for(const z of this.textAreas)!c&&z.blocks.length>0&&(c=z.blocks[0].id),b.push(z.blocks.map(a=>a.text).join(""));await A.insertBlockAsChildOf(b.join(`
+`)}async function J1(n,e,t,c,b,z){if(!(t=="0"||t=="nop"))if(L0.isMobile)X0.openMobileFileById(n.app,e);else{c==null&&(c=["cb-get-context","cb-get-focus"]);let a=null;switch(t){case"5":case"move":X0.openWindow({doc:{id:e}});return;case"1":case"front":default:t=null,a=!1;break;case"2":case"back":t=null,a=!0;break;case"3":case"right":t="right",a=!0;break;case"4":case"bottom":t="bottom",a=!0;break;case"6":case"peek":t=null,a=!1;const r=b;b=()=>{z&&setTimeout(()=>{X0.openTab({app:n.app,doc:{id:z,action:c,zoomIn:!1},position:t,keepCursor:a})},1500),r&&r()};break}return X0.openTab({app:n.app,doc:{id:e,action:c,zoomIn:!1},position:t,keepCursor:a,afterOpen:b})}}function qf(n){return{NodeDocument:"d",NodeHeading:"h",NodeList:"l",NodeListItem:"i",NodeCodeBlock:"c",NodeMathBlock:"m",NodeTable:"t",NodeBlockquote:"b",NodeSuperBlock:"s",NodeParagraph:"p",NodeHTMLBlock:"html",NodeBlockQueryEmbed:"query_embed",NodeAttributeView:"av",NodeKramdownBlockIAL:"ial",NodeIFrame:"iframe",NodeWidget:"widget",NodeThematicBreak:"tb",NodeVideo:"video",NodeAudio:"audio"}[n]}async function ko(n,e,t,c,b,z){if(!(b>z)){n.children||(n.children=[]);for(const a of e.childNodes){const r=a;if(!r.getAttribute)continue;const o={id:r.getAttribute(c1),type:qf(r.getAttribute(q1))};o.id&&(o.div=r,!(t&&Ei.includes(o.type)&&(o.type==="m"?o.content=r.getAttribute("data-content"):o.content=r.textContent.replaceAll("","").trim(),!c&&!o.content))&&(o.subtype=r.getAttribute(Qn),o.type==="s"&&(o.subtype=r.getAttribute("data-sb-layout")),o.idx=parseInt(r.getAttribute(Zt)),o.docName=n.content,o.root_id=n.root_id,o.parent_id=n.id,o.parent=n,o.children=[],n.children.push(o),Pi.includes(o.type)&&ko(o,r,t,c,b+1,z)))}return{root:n,div:e}}}async function Co(n,e,t=!0,c=!0,b=Number.MAX_SAFE_INTEGER){const z={id:n,type:"d",docName:e,content:e,subtype:"",root_id:n,parent_id:n},{root:a,div:r}=await A.getBlockDOM(z.id).then(({dom:o})=>{const i=document.createElement("div");return i.innerHTML="
"+o+"
",ko(z,i.firstElementChild,t,c,1,b)});return{root:a,div:r}}class gf{constructor(){U(this,"conf")}init(){this.conf=h2.config}get aaa(){switch(this.conf.appearance.lang){case"zh_CN":return"bbb";case"es_ES":return;case"fr_FR":return;case"ja_JP":return;case"zh_CHT":return;case"it_IT":return;case"en_US":default:return}}get 给闪卡添加底部边框(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡后,给闪卡添加底部边框";case"es_ES":return"Después de crear la tarjeta, añadir un borde inferior a la tarjeta flash.";case"fr_FR":return"Après avoir créé la carte, ajoutez une bordure inférieure à la carte flash.";case"ja_JP":return"カードを作成後、フラッシュカードの下部にボーダーを追加します。";case"zh_CHT":return"製卡後,給閃卡添加底部邊框";case"it_IT":return"Dopo aver creato la scheda, aggiungi un bordo inferiore alla scheda flash.";case"en_US":default:return"After creating the card, add a bottom border to the flashcard."}}get 上一页(){switch(this.conf.appearance.lang){case"zh_CN":return"上一页";case"es_ES":return"Anterior";case"fr_FR":return"Précédent";case"ja_JP":return"前へ";case"zh_CHT":return"上一頁";case"it_IT":return"Precedente";case"en_US":default:return"Previous"}}get 下一页(){switch(this.conf.appearance.lang){case"zh_CN":return"下一页";case"es_ES":return"Siguiente";case"fr_FR":return"Suivant";case"ja_JP":return"次へ";case"zh_CHT":return"下一頁";case"it_IT":return"Successivo";case"en_US":default:return"Next"}}get 原地制卡(){switch(this.conf.appearance.lang){case"zh_CN":return"原地制卡";case"es_ES":return"Crear tarjeta en sitio";case"fr_FR":return"Créer une carte sur place";case"ja_JP":return"現地でカード作成";case"zh_CHT":return"現場製卡";case"it_IT":return"Crea carta in loco";case"en_US":default:return"Create card on site"}}get 显示上一个分片的最后一个块(){switch(this.conf.appearance.lang){case"zh_CN":return"显示上一个分片的最后一个块";case"es_ES":return"Mostrar el último bloque del fragmento anterior";case"fr_FR":return"Afficher le dernier bloc du fragment précédent";case"ja_JP":return"前のセグメントの最後のブロックを表示";case"zh_CHT":return"顯示上一個分片的最後一個塊";case"it_IT":return"Mostra l'ultimo blocco del frammento precedente";case"en_US":default:return"Show the last block of the previous fragment"}}get 总字数(){switch(this.conf.appearance.lang){case"zh_CN":return"总字数 ";case"es_ES":return"Número total de palabras";case"fr_FR":return"Nombre total de mots";case"ja_JP":return"総単語数";case"zh_CHT":return"總字數 ";case"it_IT":return"Numero totale di parole";case"en_US":default:return"Total word count"}}平均每个标题下有x块(e){switch(this.conf.appearance.lang){case"zh_CN":return`平均每个标题下有 : ${e} 个块`;case"es_ES":return`Promedio de bloques por título: ${e} bloques`;case"fr_FR":return`Moyenne de blocs par titre : ${e} blocs`;case"ja_JP":return`平均タイトルごとのブロック数:${e} ブロック`;case"zh_CHT":return`平均每個標題下有 : ${e} 個塊`;case"it_IT":return`Media di blocchi per titolo: ${e} blocchi`;case"en_US":default:return`Average number of blocks per title: ${e} blocks`}}平均每个块的字数(e){switch(this.conf.appearance.lang){case"zh_CN":return`平均每个块的字数 : ${e} 个字`;case"es_ES":return`Promedio de palabras por bloque: ${e} palabras`;case"fr_FR":return`Moyenne de mots par bloc : ${e} mots`;case"ja_JP":return`平均ブロックごとの単語数:${e} 語`;case"zh_CHT":return`平均每個塊的字數 : ${e} 個字`;case"it_IT":return`Media di parole per blocco: ${e} parole`;case"en_US":default:return`Average number of words per block: ${e} words`}}平均每个块的文本长度(e){switch(this.conf.appearance.lang){case"zh_CN":return`平均每个块的文本长度: ${e}`;case"es_ES":return`Longitud media de texto por bloque: ${e}`;case"fr_FR":return`Longueur moyenne de texte par bloc : ${e}`;case"ja_JP":return`平均ブロックごとのテキスト長:${e}`;case"zh_CHT":return`平均每個塊的文本長度: ${e}`;case"it_IT":return`Lunghezza media del testo per blocco: ${e}`;case"en_US":default:return`Average text length per block: ${e}`}}get 总文本长度(){switch(this.conf.appearance.lang){case"zh_CN":return"总文本长度";case"es_ES":return"Longitud total del texto";case"fr_FR":return"Longueur totale du texte";case"ja_JP":return"テキストの総長";case"zh_CHT":return"總文本長度";case"it_IT":return"Lunghezza totale del testo";case"en_US":default:return"Total text length"}}get 按文本长度拆分(){switch(this.conf.appearance.lang){case"zh_CN":return"按文本长度拆分,留空为不拆分";case"es_ES":return"Dividir por longitud de texto, dejar en blanco para no dividir";case"fr_FR":return"Diviser par longueur de texte, laisser vide pour ne pas diviser";case"ja_JP":return"テキスト長で分割、空白の場合は分割しません";case"zh_CHT":return"按文本長度拆分,留空為不拆分";case"it_IT":return"Dividi per lunghezza del testo, lascia vuoto per non dividere";case"en_US":default:return"Split by text length, leave empty to not split"}}get 请耐心等待(){switch(this.conf.appearance.lang){case"zh_CN":return"请耐心等待";case"es_ES":return"Por favor, espere";case"fr_FR":return"Veuillez patienter";case"ja_JP":return"しばらくお待ちください";case"zh_CHT":return"請稍等待";case"it_IT":return"Attendere prego";case"en_US":default:return"Please wait"}}get 上网查询所选内容(){switch(this.conf.appearance.lang){case"zh_CN":return"上网查询所选内容";case"es_ES":return"Buscar en línea el contenido seleccionado";case"fr_FR":return"Rechercher en ligne le contenu sélectionné";case"ja_JP":return"選択した内容をオンラインで検索";case"zh_CHT":return"上網查詢所選內容";case"it_IT":return"Cerca online il contenuto selezionato";case"en_US":default:return"Search online for selected content"}}get 在上方插入汉语拼音(){switch(this.conf.appearance.lang){case"zh_CN":return"在上方插入汉语拼音。";case"es_ES":return"Insertar pinyin arriba.";case"fr_FR":return"Insérer le pinyin ci-dessus.";case"ja_JP":return"上にピンインを挿入する。";case"zh_CHT":return"在上方插入漢語拼音。";case"it_IT":return"Inserisci il pinyin sopra.";case"en_US":default:return"Insert pinyin above."}}get 在闪卡底部添加边框(){switch(this.conf.appearance.lang){case"zh_CN":return"在闪卡底部添加边框";case"es_ES":return"Agregar borde en la parte inferior de la tarjeta flash";case"fr_FR":return"Ajouter une bordure en bas de la carte flash";case"ja_JP":return"フラッシュカードの下部にボーダーを追加";case"zh_CHT":return"在閃卡底部添加邊框";case"it_IT":return"Aggiungi bordo in fondo alla scheda flash";case"en_US":default:return"Add border at the bottom of the flashcard"}}get 在闪卡末尾插上一条横线(){switch(this.conf.appearance.lang){case"zh_CN":return"在闪卡末尾插上一条横线";case"es_ES":return"Agregar una línea al final de la tarjeta de memoria";case"fr_FR":return"Ajouter une ligne à la fin de la carte mémoire";case"ja_JP":return"フラッシュカードの末尾に横線を挿入する";case"zh_CHT":return"在閃卡末尾插上一條橫線";case"it_IT":return"Inserisci una linea alla fine della flashcard";case"en_US":default:return"Insert a horizontal line at the end of the flashcard"}}get 新开窗口如何打开(){switch(this.conf.appearance.lang){case"zh_CN":return"新页签: 0不打开,1打开到前台,2打开到后台,3打开到右边,4打开到底部,5移动到新窗口,6打开到前台1秒";case"es_ES":return"Nueva pestaña: 0 no abrir, 1 abrir en primer plano, 2 abrir en segundo plano, 3 abrir a la derecha, 4 abrir en la parte inferior, 5 mover a una nueva ventana, 6 abrir en primer plano durante 1 segundo";case"fr_FR":return"Nouvel onglet : 0 ne pas ouvrir, 1 ouvrir au premier plan, 2 ouvrir en arrière-plan, 3 ouvrir à droite, 4 ouvrir en bas, 5 déplacer vers une nouvelle fenêtre, 6 ouvrir au premier plan pendant 1 seconde";case"ja_JP":return"新しいタブ: 0 開かない, 1 前面に開く, 2 背面に開く, 3 右に開く, 4 下に開く, 5 新しいウィンドウに移動, 6 前面に1秒間開く";case"zh_CHT":return"新頁籤: 0不開啟,1開啟到前台,2開啟到後台,3開啟到右邊,4開啟到底部,5移動到新視窗,6開啟到前台1秒";case"it_IT":return"Nuova scheda: 0 non aprire, 1 aprire in primo piano, 2 aprire in background, 3 aprire a destra, 4 aprire in basso, 5 spostare in una nuova finestra, 6 aprire in primo piano per 1 secondo";case"en_US":default:return"New tab: 0 do not open, 1 open in foreground, 2 open in background, 3 open to the right, 4 open to the bottom, 5 move to new window, 6 open in foreground for 1 second"}}get 对分片制卡额外链接到分片(){switch(this.conf.appearance.lang){case"zh_CN":return"对分片制卡,闪卡除了链接到原文,还额外链接到分片。";case"es_ES":return"Para las tarjetas fragmentadas, las tarjetas flash están adicionalmente vinculadas a los fragmentos además de estar vinculadas al texto original.";case"fr_FR":return"Pour les cartes fragmentées, les cartes flash sont en outre liées aux fragments en plus d'être liées au texte original.";case"ja_JP":return"分割されたカードについて、フラッシュカードは原文にリンクするだけでなく、分割にも追加でリンクします。";case"zh_CHT":return"對分片制卡,閃卡除了鏈接到原文,還額外鏈接到分片。";case"it_IT":return;case"en_US":default:return"For fragmented card making, flashcards are additionally linked to fragments in addition to being linked to the original text."}}get 闪卡的回溯使用链接(){switch(this.conf.appearance.lang){case"zh_CN":return"闪卡的回溯使用链接,否则用引用。";case"es_ES":return"Enlace de retroceso de la tarjeta flash, de lo contrario usa la referencia.";case"fr_FR":return"Lien de retour de la carte flash, sinon utilisez la référence.";case"ja_JP":return"フラッシュカードのリグレッションリンク、それ以外の場合は参照を使用します。";case"zh_CHT":return"閃卡的回溯使用連結,否則用引用。";case"it_IT":return;case"en_US":default:return"Flashcard regression link, otherwise use reference."}}get 制卡时在末尾添加空行(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡时,在末尾添加空行";case"es_ES":return"Al crear una tarjeta, agrega una línea en blanco al final";case"fr_FR":return"Lors de la création d'une carte, ajoutez une ligne vide à la fin";case"ja_JP":return"カード作成時に、末尾に空行を追加します";case"zh_CHT":return"制卡時,在末尾添加空行";case"it_IT":return;case"en_US":default:return"When creating a card, add a blank line at the end"}}get 摘抄不加入回溯链接(){switch(this.conf.appearance.lang){case"zh_CN":return"摘抄不加入回溯链接";case"es_ES":return"Extracto sin enlace retrospectivo";case"fr_FR":return"Extrait sans lien rétrospectif";case"ja_JP":return"引用にリンクを含めない";case"zh_CHT":return"摘抄不加入回溯鏈接";case"it_IT":return;case"en_US":default:return"Excerpt without backlink"}}get 分片不加入回溯链接(){switch(this.conf.appearance.lang){case"zh_CN":return"分片不加入回溯链接";case"es_ES":return"Fragmento no incluido en enlaces retrospectivos";case"fr_FR":return"Fragment non inclus dans les liens de rétrospection";case"ja_JP":return"フラグメントを遡及リンクに含めない";case"zh_CHT":return"分片不加入回溯鏈接";case"it_IT":return;case"en_US":default:return"Fragment not included in backtrace links"}}get 合并所有分片到新文件(){switch(this.conf.appearance.lang){case"zh_CN":return"合并所有分片到新文件";case"es_ES":return"Combinar todos los fragmentos en un nuevo archivo";case"fr_FR":return"Fusionner tous les fragments dans un nouveau fichier";case"ja_JP":return"すべてのフラグメントを新しいファイルにマージ";case"zh_CHT":return"合併所有分片到新文件";case"it_IT":return;case"en_US":default:return"Merge all fragments into a new file"}}get 请先配置AI(){switch(this.conf.appearance.lang){case"zh_CN":return"请先配置 AI";case"es_ES":return"Configure la IA primero";case"fr_FR":return"Configurez l'IA d'abord";case"ja_JP":return"まず AI を設定してください";case"zh_CHT":return"請先配置 AI";case"it_IT":return;case"en_US":default:return"Please configure the AI first"}}get 摘录单词并加入闪卡并用AI解释(){switch(this.conf.appearance.lang){case"zh_CN":return"摘录单词并加入闪卡并用AI解释";case"es_ES":return"Extraer palabras y añadir a tarjetas flash con explicación de IA";case"fr_FR":return"Extraire des mots et ajouter aux fiches flash avec explication par IA";case"ja_JP":return"単語を抜粋してフラッシュカードに追加し、AIによる説明を行う";case"zh_CHT":return"摘錄單詞並加入閃卡並用AI解釋";case"it_IT":return;case"en_US":default:return"Extract words and add to flashcards with AI explanation"}}get 请选择词语(){switch(this.conf.appearance.lang){case"zh_CN":return"请选择词语";case"es_ES":return"Por favor, selecciona la palabra";case"fr_FR":return"Veuillez sélectionner le mot";case"ja_JP":return"単語を選択してください";case"zh_CHT":return"請選擇詞語";case"it_IT":return;case"en_US":default:return"Please select the word"}}get 摘录单词(){switch(this.conf.appearance.lang){case"zh_CN":return"摘录单词";case"es_ES":return"Extraer palabras";case"fr_FR":return"Extraire des mots";case"ja_JP":return"単語を抜粋する";case"zh_CHT":return"摘錄單詞";case"it_IT":return;case"en_US":default:return"Extract words"}}get 摘录单词并加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"摘录单词并加入闪卡";case"es_ES":return"Extraer palabras y añadir a tarjetas flash";case"fr_FR":return"Extraire des mots et ajouter aux fiches";case"ja_JP":return"単語を抜粋してフラッシュカードに追加";case"zh_CHT":return"摘錄單詞並加入閃卡";case"it_IT":return;case"en_US":default:return"Extract words and add to flashcards"}}get 渐进学习的设置(){switch(this.conf.appearance.lang){case"zh_CN":return"渐进学习的设置";case"es_ES":return"Configuración de aprendizaje progresivo";case"fr_FR":return"Paramètres d'apprentissage progressif";case"ja_JP":return"段階的な学習の設定";case"zh_CHT":return"漸進學習的設定";case"it_IT":return;case"en_US":default:return"Progressive Learning Settings"}}get 渐进学习(){switch(this.conf.appearance.lang){case"zh_CN":return"渐进学习";case"es_ES":return"Aprendizaje progresivo";case"fr_FR":return"Apprentissage progressif";case"ja_JP":return"段階的学習";case"zh_CHT":return"漸進學習";case"it_IT":return;case"en_US":default:return"Progressive learning"}}get 按标点断句列表(){switch(this.conf.appearance.lang){case"zh_CN":return"按标点断句,形成列表/大纲";case"es_ES":return"Segmentar por puntuación, formar lista/esquema";case"fr_FR":return"Segmenter par ponctuation, former une liste/un plan";case"ja_JP":return"句読点で区切り、リスト/アウトラインを作成する";case"zh_CHT":return"按標點斷句,形成列表/大綱";case"it_IT":return;case"en_US":default:return"Segment by punctuation, form list/outline"}}get 按标点断句Checkbox(){switch(this.conf.appearance.lang){case"zh_CN":return"按标点断句,形成任务列表(可以ctrl+enter勾选任务)";case"es_ES":return"Segmentar por puntuación, formar lista de tareas (puede seleccionar tareas con ctrl+enter)";case"fr_FR":return"Segmenter par ponctuation, former une liste de tâches (vous pouvez cocher les tâches avec ctrl+enter)";case"ja_JP":return"句読点で区切り、タスクリストを作成する(ctrl+enterでタスクをチェックできます)";case"zh_CHT":return"按標點斷句,形成任務列表(可以ctrl+enter勾選任務)";case"it_IT":return;case"en_US":default:return"Segment by punctuation, form task list (you can check tasks with ctrl+enter)"}}get 按标点断句(){switch(this.conf.appearance.lang){case"zh_CN":return"按标点断句";case"es_ES":return"Segmentar por puntuación";case"fr_FR":return"Segmenter par ponctuation";case"ja_JP":return"句読点で区切る";case"zh_CHT":return"按標點斷句";case"it_IT":return;case"en_US":default:return"Segment by punctuation"}}get 不再推送本书(){switch(this.conf.appearance.lang){case"zh_CN":return"不再为我推送本书,可在顶栏的[查看所有渐进学习文档]中开启推送";case"es_ES":return"No enviar más este libro, puedes habilitar el envío en [Ver todos los documentos de aprendizaje progresivo] en la barra superior";case"fr_FR":return"Ne plus envoyer ce livre, vous pouvez activer l'envoi dans [Voir tous les documents d'apprentissage progressif] dans la barre supérieure";case"ja_JP":return"この本をもう送らないでください、トップバーの[すべての段階的学習ドキュメントを表示]で送信を有効にできます";case"zh_CHT":return"不再為我推送本書,可在頂欄的[查看所有漸進學習文檔]中開啟推送";case"it_IT":return;case"en_US":default:return"No longer push this book for me, can turn on push in [View all progressive learning documents] in the top bar"}}get 删除分片并退出(){switch(this.conf.appearance.lang){case"zh_CN":return"删除分片并结束阅读";case"es_ES":return"Eliminar fragmento y terminar la lectura";case"fr_FR":return"Supprimer le fragment et terminer la lecture";case"ja_JP":return"フラグメントを削除して読み終える";case"zh_CHT":return"刪除分片並結束閱讀";case"it_IT":return;case"en_US":default:return"Delete fragment and end reading"}}get 删除文档闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"删除文档闪卡";case"es_ES":return"Eliminar tarjeta de documento";case"fr_FR":return"Supprimer la fiche document";case"ja_JP":return"ドキュメントカードを削除する";case"zh_CHT":return"刪除文檔閃卡";case"it_IT":return;case"en_US":default:return"Delete document flashcard"}}get 将文档加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"将文档加入闪卡";case"es_ES":return"Agregar el documento a la tarjeta";case"fr_FR":return"Ajouter le document à la fiche";case"ja_JP":return"ドキュメントをカードに追加する";case"zh_CHT":return"將文檔加入閃卡";case"it_IT":return;case"en_US":default:return"Add document to flashcard"}}get 换一本书看(){switch(this.conf.appearance.lang){case"zh_CN":return"换一本书来看";case"es_ES":return"Cambia a otro libro para leer";case"fr_FR":return"Changez de livre à lire";case"ja_JP":return"別の本を読む";case"zh_CHT":return"換一本書來看";case"it_IT":return;case"en_US":default:return"Switch to another book to read"}}get 删除分片看下一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"删除分片,看下一个分片";case"es_ES":return"Eliminar fragmento, ver el siguiente fragmento";case"fr_FR":return"Supprimer le fragment, voir le prochain fragment";case"ja_JP":return"フラグメントを削除し、次のフラグメントを見る";case"zh_CHT":return"刪除分片,看下一個分片";case"it_IT":return;case"en_US":default:return"Delete fragment, see the next fragment"}}get 删除分片看上一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"删除分片,看上一个分片";case"es_ES":return"Eliminar fragmento, ver el fragmento anterior";case"fr_FR":return"Supprimer le fragment, voir le fragment précédent";case"ja_JP":return"フラグメントを削除し、前のフラグメントを見る";case"zh_CHT":return"刪除分片,看上一個分片";case"it_IT":return;case"en_US":default:return"Delete fragment, see the previous fragment"}}get 打开本书的闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"打开本书的闪卡";case"es_ES":return"Abre las tarjetas flash de este libro";case"fr_FR":return"Ouvrez les flashcards de ce livre";case"ja_JP":return"この本のフラッシュカードを開く";case"zh_CHT":return"打開本書的閃卡";case"it_IT":return;case"en_US":default:return"Open the flashcards of this book"}}get 关闭分片(){switch(this.conf.appearance.lang){case"zh_CN":return"关闭分片";case"es_ES":return"Cerrar fragmento";case"fr_FR":return"Fermer le fragment";case"ja_JP":return"フラグメントを閉じる";case"zh_CHT":return"關閉分片";case"it_IT":return;case"en_US":default:return"Close fragment"}}get 重新插入分片内容(){switch(this.conf.appearance.lang){case"zh_CN":return"重新插入分片的内容";case"es_ES":return"Reinsertar el contenido del fragmento";case"fr_FR":return"Réinsérer le contenu du fragment";case"ja_JP":return"フラグメントの内容を再挿入する";case"zh_CHT":return"重新插入分片的內容";case"it_IT":return;case"en_US":default:return"Reinsert fragment content"}}get 删除原文(){switch(this.conf.appearance.lang){case"zh_CN":return"删除原文";case"es_ES":return"Eliminar el texto original";case"fr_FR":return"Supprimer le texte original";case"ja_JP":return"オリジナルのテキストを削除する";case"zh_CHT":return"刪除原文";case"it_IT":return;case"en_US":default:return"Delete original text"}}get 下一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"下一个分片";case"es_ES":return"Siguiente fragmento";case"fr_FR":return"Prochain fragment";case"ja_JP":return"次の断片";case"zh_CHT":return"下一個片段";case"it_IT":return;case"en_US":default:return"Next fragment"}}get 上一个分片(){switch(this.conf.appearance.lang){case"zh_CN":return"上一个分片";case"es_ES":return"Fragmento anterior";case"fr_FR":return"Fragment précédent";case"ja_JP":return"前の断片";case"zh_CHT":return"上一個片段";case"it_IT":return;case"en_US":default:return"Previous fragment"}}get 打开目录(){switch(this.conf.appearance.lang){case"zh_CN":return"打开目录";case"es_ES":return"Abrir directorio";case"fr_FR":return"Ouvrir le répertoire";case"ja_JP":return"ディレクトリを開く";case"zh_CHT":return"開啟目錄";case"it_IT":return;case"en_US":default:return"Open directory"}}get altshift总是收集到dailynote(){switch(this.conf.appearance.lang){case"zh_CN":return"alt+shift+z总是收集到dailynote";case"es_ES":return"alt+shift+z siempre recoge a dailynote";case"fr_FR":return"alt+shift+z recueille toujours à dailynote";case"ja_JP":return"alt+shift+zは常にdailynoteに集めます";case"zh_CHT":return"alt+shift+z總是收集到dailynote";case"it_IT":return;case"en_US":default:return"alt+shift+z always collects to dailynote"}}get 制卡后追加时间与标题路径(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡后,追加时间与标题路径";case"es_ES":return"Después de hacer la tarjeta, añada tiempo y ruta del título";case"fr_FR":return"Après avoir fait la carte, ajoutez du temps et le chemin du titre";case"ja_JP":return"カード作成後、時間とタイトルパスを追加";case"zh_CHT":return"製卡後,追加時間與標題路徑";case"it_IT":return;case"en_US":default:return"After card creation, append time and title path"}}get 制卡摘抄改变原文背景(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡、摘抄改变原文背景";case"es_ES":return"Crear tarjetas, extractos cambian el fondo del texto original";case"fr_FR":return"Créer des cartes, extraits changent l'arrière-plan du texte original";case"ja_JP":return"カード作成、抜粋は原文の背景を変更する";case"zh_CHT":return"制卡、摘抄改變原文背景";case"it_IT":return;case"en_US":default:return"Card making, excerpts change the background of the original text"}}get 制卡摘抄在原文处做标记(){switch(this.conf.appearance.lang){case"zh_CN":return"制卡、摘抄在原文处做标记";case"es_ES":return"Hacer tarjeta, hacer anotaciones en el texto original";case"fr_FR":return"Faire une carte, faire des notes dans le texte original";case"ja_JP":return"カードを作り、原文でマークをつける";case"zh_CHT":return"製卡、摘抄在原文處做標記";case"it_IT":return;case"en_US":default:return"Make card, make notes in the original text"}}get 分片内制卡放于分片的子文档内(){switch(this.conf.appearance.lang){case"zh_CN":return"分片内制卡,放于分片的子文档内";case"es_ES":return"Hacer tarjeta dentro del fragmento, colocar en el subdocumento del fragmento";case"fr_FR":return"Faire une carte à l'intérieur du fragment, placer dans le sous-document du fragment";case"ja_JP":return"フラグメント内でカードを作り、フラグメントのサブドキュメントに置く";case"zh_CHT":return"分片內製卡,放於分片的子文檔內";case"it_IT":return;case"en_US":default:return"Make card within fragment, put in the subdocument of the fragment"}}get cards前缀文件(){switch(this.conf.appearance.lang){case"zh_CN":return"'cards-'前缀文件: 每本书用于保存闪卡的文件";case"es_ES":return"Archivo con prefijo 'cards-': Cada libro se utiliza para guardar el archivo de tarjetas";case"fr_FR":return"Fichier avec préfixe 'cards-': Chaque livre sert à sauvegarder le fichier de cartes";case"ja_JP":return"'cards-'プレフィックスのファイル:各書籍はフラッシュカードのファイルを保存するために使用されます";case"zh_CHT":return"'cards-'前綴文件: 每本書用於保存閃卡的文件";case"it_IT":return;case"en_US":default:return"'cards-' prefix file: Each book is used to save the flashcard file"}}get 打开分片的同时打开cards文档(){switch(this.conf.appearance.lang){case"zh_CN":return"打开分片的同时打开cards文档";case"es_ES":return"Abrir el documento de tarjetas al mismo tiempo que se abre el fragmento";case"fr_FR":return"Ouvrir le document de cartes en même temps que le fragment";case"ja_JP":return"フラグメントを開くと同時にカードのドキュメントを開く";case"zh_CHT":return"打開分片的同時打開cards文檔";case"it_IT":return;case"en_US":default:return"Open cards document while opening the fragment"}}get 在闪卡内复习整个分片时隐藏分片下方按钮(){switch(this.conf.appearance.lang){case"zh_CN":return"在闪卡内复习整个分片时,隐藏分片下方按钮";case"es_ES":return"Al revisar todo el fragmento dentro de la tarjeta, ocultar el botón debajo del fragmento";case"fr_FR":return"Lors de la révision de l'ensemble du fragment à l'intérieur de la carte, cacher le bouton sous le fragment";case"ja_JP":return"フラッシュカード内でフラグメント全体を復習する際、フラグメント下のボタンを隠す";case"zh_CHT":return"在閃卡內復習整個分片時,隱藏分片下方按鈕";case"it_IT":return;case"en_US":default:return"When reviewing the entire fragment within the flashcard, hide the button under the fragment"}}get 断句并插入下方(){switch(this.conf.appearance.lang){case"zh_CN":return"断句并插入下方";case"es_ES":return"Fractura e inserta debajo";case"fr_FR":return"Casser et insérer ci-dessous";case"ja_JP":return"文を分割して下に挿入";case"zh_CHT":return"斷句並插入下方";case"it_IT":return;case"en_US":default:return"Break and insert below"}}get 切换单卡多卡模式(){switch(this.conf.appearance.lang){case"zh_CN":return"切换单卡多卡模式";case"es_ES":return"Cambiar modo de tarjeta única a múltiple";case"fr_FR":return"Passer du mode carte unique au mode multi-cartes";case"ja_JP":return"シングルカードモードからマルチカードモードに切り替え";case"zh_CHT":return"切換單卡多卡模式";case"it_IT":return;case"en_US":default:return"Switch single card to multi-card mode"}}get 清理已经完成的摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"清理已经完成的摘抄";case"es_ES":return"Limpiar las citas completadas";case"fr_FR":return"Nettoyer les citations terminées";case"ja_JP":return"完了した引用をクリア";case"zh_CHT":return"清理已經完成的摘抄";case"it_IT":return;case"en_US":default:return"Clean up completed quotes"}}get 这并不是一个摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"这并不是一个摘抄";case"es_ES":return"Esto no es una cita";case"fr_FR":return"Ce n'est pas une citation";case"ja_JP":return"これは引用ではありません";case"zh_CHT":return"這並不是一個摘抄";case"it_IT":return;case"en_US":default:return"This is not a quote"}}get 标记摘抄为完成状态并转移闪卡到其他摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"标记摘抄为完成状态,并转移闪卡到其他摘抄";case"es_ES":return"Marcar la cita como completada y trasladar las tarjetas a otra cita";case"fr_FR":return"Marquer la citation comme terminée et déplacer les flashcards vers une autre citation";case"ja_JP":return"引用を完了とマークし、フラッシュカードを他の引用に移動";case"zh_CHT":return"標記摘抄為完成狀態,並轉移閃卡到其他摘抄";case"it_IT":return;case"en_US":default:return"Mark the quote as completed and move flashcards to another quote"}}get 打开下一个摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"打开下一个摘抄";case"es_ES":return"Abrir la siguiente cita";case"fr_FR":return"Ouvrir la citation suivante";case"ja_JP":return"次の引用を開く";case"zh_CHT":return"打開下一個摘抄";case"it_IT":return;case"en_US":default:return"Open the next quote"}}get 打开前一个摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"打开前一个摘抄";case"es_ES":return"Abrir la cita anterior";case"fr_FR":return"Ouvrir la citation précédente";case"ja_JP":return"前の引用を開く";case"zh_CHT":return"打開前一個摘抄";case"it_IT":return;case"en_US":default:return"Open the previous quote"}}get 查看摘抄轨迹链(){switch(this.conf.appearance.lang){case"zh_CN":return"查看摘抄轨迹链";case"es_ES":return"Ver cadena de trazas de extracto";case"fr_FR":return"Voir la chaîne de traces d'extrait";case"ja_JP":return"抽出トレースチェーンを見る";case"zh_CHT":return"查看摘抄軌跡鏈";case"it_IT":return;case"en_US":default:return"View excerpt trace chain"}}get 摘抄(){switch(this.conf.appearance.lang){case"zh_CN":return"摘抄";case"es_ES":return"Extracto";case"fr_FR":return"Extrait";case"ja_JP":return"抽出";case"zh_CHT":return"摘抄";case"it_IT":return;case"en_US":default:return"Excerpt"}}get 不删除已经产生的分片等文件(){switch(this.conf.appearance.lang){case"zh_CN":return"不删除已经产生的分片等文件";case"es_ES":return"No eliminar archivos de fragmentos ya generados, etc.";case"fr_FR":return"Ne pas supprimer les fichiers de fragments déjà générés, etc.";case"ja_JP":return"既に生成されたフラグメントなどのファイルを削除しない";case"zh_CHT":return"不刪除已經產生的分片等文件";case"it_IT":return;case"en_US":default:return"Do not delete already generated fragment files, etc."}}get 删除(){switch(this.conf.appearance.lang){case"zh_CN":return"删除";case"es_ES":return"Eliminar";case"fr_FR":return"Supprimer";case"ja_JP":return"削除";case"zh_CHT":return"刪除";case"it_IT":return;case"en_US":default:return"Delete"}}get 重新分片(){switch(this.conf.appearance.lang){case"zh_CN":return"重新分片";case"es_ES":return"Refragmentar";case"fr_FR":return"Refragmenter";case"ja_JP":return"再フラグメンテーション";case"zh_CHT":return"重新分片";case"it_IT":return;case"en_US":default:return"Refragment"}}get 阅读(){switch(this.conf.appearance.lang){case"zh_CN":return"阅读";case"es_ES":return"Leer";case"fr_FR":return"Lire";case"ja_JP":return"読む";case"zh_CHT":return"閱讀";case"it_IT":return;case"en_US":default:return"Read"}}get 断句(){switch(this.conf.appearance.lang){case"zh_CN":return"断句";case"es_ES":return"Segmentación de frases";case"fr_FR":return"Segmentation de phrases";case"ja_JP":return"フレーズのセグメンテーション";case"zh_CHT":return"斷句";case"it_IT":return;case"en_US":default:return"Sentence segmentation"}}get 末尾(){switch(this.conf.appearance.lang){case"zh_CN":return"末尾块";case"es_ES":return"último bloque";case"fr_FR":return"dernier bloc";case"ja_JP":return"最後のブロック";case"zh_CHT":return"最後一個塊";case"it_IT":return;case"en_US":default:return"last block"}}get 标号(){switch(this.conf.appearance.lang){case"zh_CN":return"添加标号";case"es_ES":return"Agregar etiqueta";case"fr_FR":return"Ajouter une étiquette";case"ja_JP":return"ラベルを追加";case"zh_CHT":return"添加標號";case"it_IT":return;case"en_US":default:return"Add label"}}get 制卡(){switch(this.conf.appearance.lang){case"zh_CN":return"加入闪卡";case"es_ES":return"Añadir tarjeta";case"fr_FR":return"Ajouter une carte";case"ja_JP":return"カードを追加";case"zh_CHT":return"加入閃卡";case"it_IT":return;case"en_US":default:return"Add card"}}get 忽略(){switch(this.conf.appearance.lang){case"zh_CN":return"忽略";case"es_ES":return"Ignorar";case"fr_FR":return"Ignorer";case"ja_JP":return"無視する";case"zh_CHT":return"忽略";case"it_IT":return;case"en_US":default:return"Ignore"}}get 进度(){switch(this.conf.appearance.lang){case"zh_CN":return"进度";case"es_ES":return"Progreso";case"fr_FR":return"Progression";case"ja_JP":return"進行状況";case"zh_CHT":return"進度";case"it_IT":return;case"en_US":default:return"Progress"}}get 书名(){switch(this.conf.appearance.lang){case"zh_CN":return"书名";case"es_ES":return"Título del libro";case"fr_FR":return"Titre du livre";case"ja_JP":return"書籍名";case"zh_CHT":return"書名";case"it_IT":return;case"en_US":default:return"Book title"}}get 只删除记录与辅助数据不删除分片不删除闪卡等删除(){switch(this.conf.appearance.lang){case"zh_CN":return"只删除记录与辅助数据,不删除分片,不删除闪卡等。
删除:";case"es_ES":return"Solo elimina registros y datos auxiliares, no elimina fragmentos, tarjetas, etc.
Eliminar:";case"fr_FR":return"Supprime uniquement les enregistrements et les données d'assistance, sans supprimer les fragments, les cartes, etc.
Supprimer:";case"ja_JP":return"レコードと補助データのみを削除し、フラグメントやカードなどは削除しません。
削除:";case"zh_CHT":return"只刪除記錄與輔助數據,不刪除分片,不刪除閃卡等。
刪除:";case"it_IT":return;case"en_US":default:return"Only delete records and auxiliary data, do not delete fragments, flash cards, etc.
Delete:"}}get 找不到此书籍(){switch(this.conf.appearance.lang){case"zh_CN":return"找不到此书籍";case"es_ES":return"No se puede encontrar este libro";case"fr_FR":return"Impossible de trouver ce livre";case"ja_JP":return"この本が見つかりません";case"zh_CHT":return"找不到此書籍";case"it_IT":return;case"en_US":default:return"Cannot find this book"}}x处修改完成(e){switch(this.conf.appearance.lang){case"zh_CN":return`${e}处修改完成!`;case"es_ES":return`${e} cambios realizados!`;case"fr_FR":return`${e} modifications effectuées!`;case"ja_JP":return`${e}箇所の変更が完了しました!`;case"zh_CHT":return`${e}處修改完成!`;case"it_IT":return;case"en_US":default:return`${e} changes made!`}}get 扫描索引中请耐心等待(){switch(this.conf.appearance.lang){case"zh_CN":return"扫描索引中,请耐心等待……";case"es_ES":return"Indexando, por favor espere...";case"fr_FR":return"Indexation en cours, veuillez patienter...";case"ja_JP":return"インデックス作成中、お待ちください...";case"zh_CHT":return"掃描索引中,請耐心等待……";case"it_IT":return;case"en_US":default:return"Indexing, please wait..."}}get 正在替换start与add替换为超链接(){switch(this.conf.appearance.lang){case"zh_CN":return"正在替换'*'与'@'替换为超链接……";case"es_ES":return"Reemplazando '*' y '@' con enlaces...";case"fr_FR":return"Remplacement de '*' et '@' par des liens...";case"ja_JP":return"'*'と'@'をリンクに置き換え中...";case"zh_CHT":return"正在替換'*'與'@'替換為超連結……";case"it_IT":return;case"en_US":default:return"Replacing '*' and '@' with links..."}}get 即将创建本地备份(){switch(this.conf.appearance.lang){case"zh_CN":return"即将创建本地备份";case"es_ES":return"Creando una copia de seguridad local...";case"fr_FR":return"Création d'une sauvegarde locale...";case"ja_JP":return"ローカルバックアップを作成します...";case"zh_CHT":return"即將創建本地備份";case"it_IT":return;case"en_US":default:return"Creating a local backup..."}}get startAdd替换为超链接(){switch(this.conf.appearance.lang){case"zh_CN":return"⚠️'*'与'@'替换为超链接";case"es_ES":return"⚠️'*' y '@' se reemplazan por enlaces";case"fr_FR":return"⚠️'*' et '@' sont remplacés par des liens";case"ja_JP":return"⚠️'*'と'@'はリンクに置き換えられます";case"zh_CHT":return"⚠️'*'與'@'替換為超連結";case"it_IT":return;case"en_US":default:return"⚠️'*' and '@' are replaced with links"}}get 给分片内段落标上序号(){switch(this.conf.appearance.lang){case"zh_CN":return"给分片内段落标上序号";case"es_ES":return"Numerando párrafos en fragmentos";case"fr_FR":return"Numérotation des paragraphes dans les fragments";case"ja_JP":return"フラグメント内の段落に番号を付ける";case"zh_CHT":return"給分片內段落標上序號";case"it_IT":return;case"en_US":default:return"Numbering paragraphs in fragments"}}get 自动断句(){switch(this.conf.appearance.lang){case"zh_CN":return"自动断句";case"es_ES":return"Autopuntuación";case"fr_FR":return"Auto-punctuation";case"ja_JP":return"自動句点";case"zh_CHT":return"自動斷句";case"it_IT":return;case"en_US":default:return"Auto-punctuation"}}get cancel取消(){switch(this.conf.appearance.lang){case"zh_CN":return"取消";case"es_ES":return"cancelar";case"fr_FR":return"annuler";case"ja_JP":return"キャンセル";case"zh_CHT":return"取消";case"it_IT":return;case"en_US":default:return"cancel"}}get 显示上一分片最后一个内容块(){switch(this.conf.appearance.lang){case"zh_CN":return"显示上一分片最后一个内容块";case"es_ES":return"mostrar el último bloque de contenido del fragmento anterior";case"fr_FR":return"afficher le dernier bloc de contenu du fragment précédent";case"ja_JP":return"前のフラグメントの最後のコンテンツブロックを表示";case"zh_CHT":return"顯示上一分片最後一個內容塊";case"it_IT":return;case"en_US":default:return"show the last content block of the previous fragment"}}get 断句为无序表(){switch(this.conf.appearance.lang){case"zh_CN":return"断句为无序表";case"es_ES":return"frasear como lista desordenada";case"fr_FR":return"phraser comme une liste non ordonnée";case"ja_JP":return"無秩序なリストとしてフレーズ";case"zh_CHT":return"斷句為無序表";case"it_IT":return;case"en_US":default:return"phrase as an unordered list"}}get 断句为任务块(){switch(this.conf.appearance.lang){case"zh_CN":return"断句为任务块";case"es_ES":return"frasear como bloque de tarea";case"fr_FR":return"phraser comme un bloc de tâche";case"ja_JP":return"タスクブロックとしてフレーズ";case"zh_CHT":return"斷句為任務塊";case"it_IT":return;case"en_US":default:return"phrase as a task block"}}get 断句为段落块(){switch(this.conf.appearance.lang){case"zh_CN":return"断句为段落块";case"es_ES":return"frasear como bloque de párrafo";case"fr_FR":return"phraser comme un bloc de paragraphe";case"ja_JP":return"段落ブロックとしてフレーズ";case"zh_CHT":return"斷句為段落塊";case"it_IT":return;case"en_US":default:return"phrase as a paragraph block"}}get 不断句(){switch(this.conf.appearance.lang){case"zh_CN":return"不断句";case"es_ES":return"no frases";case"fr_FR":return"pas de phrases";case"ja_JP":return"フレーズなし";case"zh_CHT":return"不斷句";case"it_IT":return;case"en_US":default:return"no phrases"}}get 新建分片时给段落标上序号(){switch(this.conf.appearance.lang){case"zh_CN":return"新建分片时,给段落标上序号";case"es_ES":return"al crear un nuevo fragmento, numerar los párrafos";case"fr_FR":return"lors de la création d'un nouveau fragment, numéroter les paragraphes";case"ja_JP":return"新しいフラグメントを作成するときに段落に番号をつける";case"zh_CHT":return"新建分片時,給段落標上序號";case"it_IT":return;case"en_US":default:return"when creating a new fragment, number the paragraphs"}}get 把阅读到的分片设置为闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"把阅读到的分片设置为闪卡";case"es_ES":return"Establecer el fragmento leído como tarjeta de memoria";case"fr_FR":return"Définir le fragment lu comme flashcard";case"ja_JP":return"読んだフラグメントをフラッシュカードに設定する";case"zh_CHT":return"將讀到的片段設置為閃卡";case"it_IT":return;case"en_US":default:return"Set the read fragment as flashcard"}}get 只有一个摘抄加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"只有一个摘抄加入闪卡";case"es_ES":return"Sólo un extracto se añade a la tarjeta de memoria";case"fr_FR":return"Seul un extrait est ajouté à la flashcard";case"ja_JP":return"抜粋はフラッシュカードに一つだけ追加されます";case"zh_CHT":return"只有一個摘錄加入閃卡";case"it_IT":return;case"en_US":default:return"Only one excerpt is added to flashcard"}}get 每个摘抄都加入闪卡(){switch(this.conf.appearance.lang){case"zh_CN":return"每个摘抄都加入闪卡";case"es_ES":return"Cada extracto se añade a la tarjeta de memoria";case"fr_FR":return"Chaque extrait est ajouté à la flashcard";case"ja_JP":return"各抜粋がフラッシュカードに追加されます";case"zh_CHT":return"每個摘錄都加入閃卡";case"it_IT":return;case"en_US":default:return"Each excerpt is added to flashcard"}}get 移动到下一分片内(){switch(this.conf.appearance.lang){case"zh_CN":return"移动到下一分片内";case"es_ES":return"Mover al siguiente fragmento";case"fr_FR":return"Passer au fragment suivant";case"ja_JP":return"次のフラグメントに移動する";case"zh_CHT":return"移動到下一片段內";case"it_IT":return;case"en_US":default:return"Move to the next fragment"}}get 移动到上一分片内(){switch(this.conf.appearance.lang){case"zh_CN":return"移动到上一分片内";case"es_ES":return"Mover al fragmento anterior";case"fr_FR":return"Passer au fragment précédent";case"ja_JP":return"前のフラグメントに移動する";case"zh_CHT":return"移動到上一片段內";case"it_IT":return;case"en_US":default:return"Move to the previous fragment"}}get 构建打开目录中请稍后片刻(){switch(this.conf.appearance.lang){case"zh_CN":return"构建/打开目录中,请稍后片刻……";case"es_ES":return"Construyendo/abriendo el directorio, por favor espere un momento...";case"fr_FR":return"Construction/ouverture du répertoire, veuillez patienter un instant...";case"ja_JP":return"ディレクトリを作成/開く中、少々お待ちください...";case"zh_CHT":return"建立/開啟目錄中,請稍後片刻……";case"it_IT":return;case"en_US":default:return"Building/opening directory, please wait a moment..."}}get 首次构建目录请稍后片刻(){switch(this.conf.appearance.lang){case"zh_CN":return"首次,构建目录,请稍后片刻……";case"es_ES":return"Primera vez, construyendo el directorio, por favor espere un momento...";case"fr_FR":return"Première fois, construction du répertoire, veuillez patienter un instant...";case"ja_JP":return"初めて、ディレクトリを作成中、少々お待ちください...";case"zh_CHT":return"首次,建立目錄,請稍後片刻……";case"it_IT":return;case"en_US":default:return"First time, building directory, please wait a moment..."}}get 找不到分片内容(){switch(this.conf.appearance.lang){case"zh_CN":return"找不到分片内容";case"es_ES":return"No se puede encontrar el contenido del fragmento";case"fr_FR":return"Contenu du fragment introuvable";case"ja_JP":return"フラグメントの内容が見つかりません";case"zh_CHT":return"找不到片段內容";case"it_IT":return;case"en_US":default:return"Cannot find fragment content"}}get 各级标题数(){switch(this.conf.appearance.lang){case"zh_CN":return"各级标题数";case"es_ES":return"Número de títulos de cada nivel";case"fr_FR":return"Nombre de titres de chaque niveau";case"ja_JP":return"各レベルのタイトル数";case"zh_CHT":return"各級標題數";case"it_IT":return;case"en_US":default:return"Number of titles at each level"}}get 总内容块数(){switch(this.conf.appearance.lang){case"zh_CN":return"总内容块数";case"es_ES":return"Número total de bloques de contenido";case"fr_FR":return"Nombre total de blocs de contenu";case"ja_JP":return"総コンテンツブロック数";case"zh_CHT":return"總內容塊數";case"it_IT":return;case"en_US":default:return"Total number of content blocks"}}}const T=new gf;class Wf{constructor(e,t,c,b){U(this,"asList");U(this,"noteID");U(this,"bookID");U(this,"textAreas");U(this,"plugin");this.noteID=c,this.asList=b,this.plugin=t,this.bookID=e}async insert(e=!0){return navigator.locks.request("prog.SplitSentence.insert",{ifAvailable:!0},async t=>{if(t){let c;const b=[];for(const z of this.textAreas)!c&&z.blocks.length>0&&(c=z.blocks[0].id),b.push(z.blocks.map(a=>a.text).join(""));await A.insertBlockAsChildOf(b.join(`
-`),this.noteID),c&&e&&J1(this.plugin,c)}})}async splitByIDs(e){const t=await M0.storage.booksInfo(this.bookID),c=(await A.getRows(e,"id, content, ial, type, markdown",!0,["content != ''","content IS NOT NULL"])).filter(z=>!!z.markdown);this.textAreas=[],c.length==0&&await A.pushMsg(T.找不到分片内容);let b=1;for(const z of c){let{ref:a,idx:r}=Rf(z.ial);if(a||(a=z.id),r||(r=String(b)),z.type=="h"||oc(z.markdown)){const{newID:o,attrLine:i}=y2(a,r);this.textAreas.push({blocks:[{text:z.markdown+`
+`),this.noteID),c&&e&&J1(this.plugin,c)}})}async splitByIDs(e){const t=await M0.storage.booksInfo(this.bookID),c=(await A.getRows(e,"id, content, ial, type, markdown",!0,["content != ''","content IS NOT NULL"])).filter(z=>!!z.markdown);this.textAreas=[],c.length==0&&await A.pushMsg(T.找不到分片内容);let b=1;for(const z of c){let{ref:a,idx:r}=_f(z.ial);if(a||(a=z.id),r||(r=String(b)),z.type=="h"||oc(z.markdown)){const{newID:o,attrLine:i}=y2(a,r);this.textAreas.push({blocks:[{text:z.markdown+`
${i}`,id:o}],ref:a})}else{let o=[z.markdown];t!=null&&t.addIndex2paragraph&&!o[0].startsWith("[")&&(o[0]=`[${b}]`+o[0]);for(const O of`
。!?;:`)o=Be(o,O);o=Be(o,"……"),o=Be(o,"! "),o=Be(o,"? "),o=Be(o,"; ");let i;if(this.asList=="p"){i=o.map(u=>u.trim()).filter(u=>u.length>0).map(u=>{const{newID:l,attrLine:R}=y2(a,r);return{text:Z2.repeat(2)+u+` ${re(a," * ",M0.settings.pieceNoBacktraceLink)}
${R}
@@ -248,7 +248,7 @@ ${R}
`,id:O})}else{i=o.map(l=>{const{newID:R,attrLine:_}=y2(a,r);return{text:`* ${sr(a,r)} `+l+` ${re(a," * ",M0.settings.pieceNoBacktraceLink)}
${_}
`,id:R}});const{newID:O,attrLine:u}=y2(a,r);i.push({text:`${u}
-`,id:O})}this.textAreas.push({blocks:i,ref:a}),b++}}return!0}}function sr(n,e){return`{: ${ee}="${n}" ${n2}="${e}" ${fe}="1"}`}function y2(n,e){const t=D1();return{attrLine:`{: id="${t}" ${ee}="${n}" ${n2}="${e}" ${fe}="1"}`,newID:t}}function Wf(n){return n.startsWith("”")||n.startsWith("’")||n.startsWith('"')||n.startsWith("'")||n.startsWith("】")||n.startsWith("]")||n.startsWith("}")||n.startsWith(")")||n.startsWith(")")||n.startsWith("』")||n.startsWith("」")||n.startsWith("!")||n.startsWith("!")||n.startsWith("。")||n.startsWith(". ")||n.startsWith("?")||n.startsWith("?")||n.startsWith(";")||n.startsWith(";")||n.startsWith(":")||n.startsWith(":")||n.startsWith(">")||n.startsWith("》")||n.startsWith("…")}function mf(n,e){for(;Wf(e);)n+=e[0],e=e.slice(1);return[n,e]}function Be(n,e){const t=[];for(const c of n.filter(b=>b.length>0)){const b=c.split(new RegExp("\\"+e,"g"));for(let z=0;z
0;){const[r,o]=mf(b[a-1],b[a]);b[a-1]=r,b[a]=o,a--}}t.push(...b.map(z=>z.trim()).map(z=>z.trim().replace(/\*+$/g,"")).filter(z=>z.length>0).filter(z=>z!="*"))}return t}function Rf(n){const e=n.match(/custom-progref="([^"]+)"/),t=n.match(/custom-paragraph-index="([^"]+)"/);let c="";return t&&t[1]&&(c=t[1]),e?{ref:e[1]??"",idx:c}:{}}typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ad);class _f{constructor(e,t){U(this,"groups");U(this,"accCount");U(this,"maxCount");U(this,"collect");U(this,"list");this.groups=e,this.accCount=0,this.collect=[],this.list=[],this.maxCount=t}newList(){this.list.length>0&&(this.collect.push(this.list),this.list=[],this.accCount=0)}add(e){this.list.push(e),e.type!=="h"&&(this.accCount+=e.count),this.accCount>=this.maxCount&&this.newList()}splitPiece(e){this.collect=[];for(const t of e)this.add(t);return this.newList(),this.collect}split(){const e=[];for(const t of this.groups)e.push(...this.splitPiece(t));return e}}class yf{constructor(e,t,c){U(this,"wordCount");U(this,"group");U(this,"list");U(this,"lastType");U(this,"bookID");U(this,"headings");this.wordCount=e,this.group=[],this.list=[],this.headings=t,this.bookID=c}async init(){if(this.headings.includes("b")){eA(this.headings,"b"),this.headings.push("7");const e=await A.sql(`select id from blocks where root_id='${this.bookID}' and markdown like "**%**" limit 10000`),t=new Set(e.map(c=>c.id));this.wordCount.forEach(c=>{t.has(c.id)&&(c.type="h",c.subType="h7")})}return this.headings=this.headings.map(e=>`h${e}`),this}add(e){this.getList(e).push(e),this.lastType=e.type}next(){this.list.length>0&&(this.group.push(this.list),this.list=[])}shouldNext(e){return!!(e.type==="h"&&this.headings.includes(e.subType)&&this.lastType!="h")}getList(e){return this.shouldNext(e)&&this.next(),this.list}split(){if(this.headings.length==0)return[this.wordCount];for(const e of this.wordCount)this.add(e);return this.next(),this.group}}function Or(n,e,t){const c=n.slice();return c[26]=e[t],c}function Lf(n){let e,t,c,b,z,a,r,o,i,O,u,l,R,_,y,w=T.把阅读到的分片设置为闪卡+"",k,S,C,F,G,Y,K,p0=T.显示上一个分片的最后一个块+"",e0,E,q,M,s,d,f,g=T.新建分片时给段落标上序号+"",L,N,h,p,m,J,$,V,z0,a0,Q,y0,A0,l0,W1=zc(["p","t","i","no"]),b0=[];for(let W=0;W<4;W+=1)b0[W]=ur(Or(n,W1,W));return{c(){e=I("div"),t=Z(),c=I("div"),c.textContent=`1、${M0.plugin.i18n.splitByHeadings}`,b=Z(),z=I("input"),a=Z(),r=I("div"),o=Z(),i=I("div"),i.textContent=`2、${T.按文本长度拆分}`,O=Z(),u=I("input"),l=Z(),R=I("div"),_=Z(),y=I("label"),k=N0(w),S=Z(),C=I("input"),F=Z(),G=I("div"),Y=Z(),K=I("label"),e0=N0(p0),E=Z(),q=I("input"),M=Z(),s=I("div"),d=Z(),f=I("label"),L=N0(g),N=Z(),h=I("input"),p=Z(),m=I("div"),J=Z();for(let W=0;W<4;W+=1)b0[W].c();$=Z(),V=I("div"),z0=Z(),a0=I("button"),a0.textContent=`${M0.plugin.i18n.addOrReaddDoc}`,Q=Z(),y0=I("div"),P(e,"class","fn__hr"),P(c,"class","prog-style__id"),P(z,"type","text"),P(z,"class","prog-style__input"),P(z,"placeholder","1,2,3,4,5,6,b"),P(r,"class","fn__hr"),P(i,"class","prog-style__id"),P(u,"type","number"),P(u,"class","prog-style__input"),P(u,"placeholder","300"),P(u,"min","0"),P(R,"class","fn__hr"),P(C,"type","checkbox"),P(C,"class","prog-style__checkbox"),P(y,"title",M0.plugin.i18n.autoCard),P(G,"class","fn__hr"),P(q,"type","checkbox"),P(q,"class","prog-style__checkbox"),P(s,"class","fn__hr"),P(h,"type","checkbox"),P(h,"class","prog-style__checkbox"),P(m,"class","fn__hr"),P(V,"class","fn__hr"),P(a0,"class","prog-style__button"),P(y0,"class","fn__hr")},m(W,B){u0(W,e,B),u0(W,t,B),u0(W,c,B),u0(W,b,B),u0(W,z,B),Cn(z,n[4]),u0(W,a,B),u0(W,r,B),u0(W,o,B),u0(W,i,B),u0(W,O,B),u0(W,u,B),Cn(u,n[8]),u0(W,l,B),u0(W,R,B),u0(W,_,B),u0(W,y,B),v(y,k),v(y,S),v(y,C),C.checked=n[6],u0(W,F,B),u0(W,G,B),u0(W,Y,B),u0(W,K,B),v(K,e0),v(K,E),v(K,q),q.checked=n[5],u0(W,M,B),u0(W,s,B),u0(W,d,B),u0(W,f,B),v(f,L),v(f,N),v(f,h),h.checked=n[7],u0(W,p,B),u0(W,m,B),u0(W,J,B);for(let x=0;x<4;x+=1)b0[x]&&b0[x].m(W,B);u0(W,$,B),u0(W,V,B),u0(W,z0,B),u0(W,a0,B),u0(W,Q,B),u0(W,y0,B),A0||(l0=[q0(z,"input",n[18]),q0(u,"input",n[19]),q0(C,"change",n[20]),q0(q,"change",n[21]),q0(h,"change",n[22]),q0(a0,"click",n[12])],A0=!0)},p(W,B){if(B&16&&z.value!==W[4]&&Cn(z,W[4]),B&256&&no(u.value)!==W[8]&&Cn(u,W[8]),B&64&&(C.checked=W[6]),B&32&&(q.checked=W[5]),B&128&&(h.checked=W[7]),B&512){W1=zc(["p","t","i","no"]);let x;for(x=0;x<4;x+=1){const D=Or(W,W1,x);b0[x]?b0[x].p(D,B):(b0[x]=ur(D),b0[x].c(),b0[x].m($.parentNode,$))}for(;x<4;x+=1)b0[x].d(1)}},d(W){W&&(O0(e),O0(t),O0(c),O0(b),O0(z),O0(a),O0(r),O0(o),O0(i),O0(O),O0(u),O0(l),O0(R),O0(_),O0(y),O0(F),O0(G),O0(Y),O0(K),O0(M),O0(s),O0(d),O0(f),O0(p),O0(m),O0(J),O0($),O0(V),O0(z0),O0(a0),O0(Q),O0(y0)),ZM(b0,W),A0=!1,j2(l0)}}}function Nf(n){let e;return{c(){e=I("p"),e.textContent=`🫸🫸🫸${T.请耐心等待}🫷🫷🫷`,P(e,"class","notice svelte-1skb77c")},m(t,c){u0(t,e,c)},p:U1,d(t){t&&O0(e)}}}function ur(n){let e,t,c,b=(n[26]=="no"?T.不断句:"")+"",z,a,r=(n[26]=="p"?T.断句为段落块:"")+"",o,i,O=(n[26]=="t"?T.断句为任务块:"")+"",u,l,R=(n[26]=="i"?T.断句为无序表:"")+"",_,y,w,k,S,C;return k=zd(n[24][0]),{c(){e=I("label"),t=I("input"),c=Z(),z=N0(b),a=Z(),o=N0(r),i=Z(),u=N0(O),l=Z(),_=N0(R),y=Z(),w=I("br"),P(t,"type","radio"),P(t,"name","scoops"),t.__value=n[26],Cn(t,t.__value),k.p(t)},m(F,G){u0(F,e,G),v(e,t),t.checked=t.__value===n[9],v(e,c),v(e,z),v(e,a),v(e,o),v(e,i),v(e,u),v(e,l),v(e,_),v(e,y),u0(F,w,G),S||(C=q0(t,"change",n[23]),S=!0)},p(F,G){G&512&&(t.checked=t.__value===F[9])},d(F){F&&(O0(e),O0(w)),k.r(),S=!1,C()}}}function wf(n){let e,t,c,b,z,a,r,o,i,O,u=T.总字数+"",l,R,_,y,w,k=T.总文本长度+"",S,C,F,G,Y,K=T.各级标题数+"",p0,e0,E,q,M,s=T.总内容块数+"",d,f,g,L,N,h=T.平均每个标题下有x块(Math.ceil(n[11]/n[3]))+"",p,m,J,$=T.平均每个块的字数(Math.ceil(n[1]/n[11]))+"",V,z0,a0,Q=T.平均每个块的文本长度(Math.ceil(n[2]/n[11]))+"",y0,A0,l0;function W1(B,x){return B[10]?Nf:Lf}let b0=W1(n),W=b0(n);return{c(){e=I("div"),t=Z(),c=I("div"),b=N0("《"),z=N0(n[0]),a=N0("》"),r=Z(),o=I("div"),i=Z(),O=I("div"),l=N0(u),R=N0(" : "),_=N0(n[1]),y=I("br"),w=Z(),S=N0(k),C=N0(" : "),F=N0(n[2]),G=I("br"),Y=Z(),p0=N0(K),e0=N0(" : "),E=N0(n[3]),q=I("br"),M=Z(),d=N0(s),f=N0(" : "),g=N0(n[11]),L=I("br"),N=Z(),p=N0(h),m=I("br"),J=Z(),V=N0($),z0=I("br"),a0=Z(),y0=N0(Q),A0=Z(),W.c(),l0=eo(),P(e,"class","fn__hr"),P(c,"class","prog-style__id"),P(o,"class","fn__hr"),P(O,"class","prog-style__id")},m(B,x){u0(B,e,x),u0(B,t,x),u0(B,c,x),v(c,b),v(c,z),v(c,a),u0(B,r,x),u0(B,o,x),u0(B,i,x),u0(B,O,x),v(O,l),v(O,R),v(O,_),v(O,y),v(O,w),v(O,S),v(O,C),v(O,F),v(O,G),v(O,Y),v(O,p0),v(O,e0),v(O,E),v(O,q),v(O,M),v(O,d),v(O,f),v(O,g),v(O,L),v(O,N),v(O,p),v(O,m),v(O,J),v(O,V),v(O,z0),v(O,a0),v(O,y0),u0(B,A0,x),W.m(B,x),u0(B,l0,x)},p(B,[x]){x&1&&ye(z,B[0]),x&2&&ye(_,B[1]),x&4&&ye(F,B[2]),x&8&&ye(E,B[3]),x&2048&&ye(g,B[11]),x&2056&&h!==(h=T.平均每个标题下有x块(Math.ceil(B[11]/B[3]))+"")&&ye(p,h),x&2050&&$!==($=T.平均每个块的字数(Math.ceil(B[1]/B[11]))+"")&&ye(V,$),x&2052&&Q!==(Q=T.平均每个块的文本长度(Math.ceil(B[2]/B[11]))+"")&&ye(y0,Q),b0===(b0=W1(B))&&W?W.p(B,x):(W.d(1),W=b0(B),W&&(W.c(),W.m(l0.parentNode,l0)))},i:U1,o:U1,d(B){B&&(O0(e),O0(t),O0(c),O0(r),O0(o),O0(i),O0(O),O0(A0),O0(l0)),W.d(B)}}}function Bf(n,e,t){let c,{bookID:b}=e,{bookName:z}=e,{boxID:a}=e,{dialog:r}=e,{plugin:o}=e,i=0,O=0,u=1,l,R=!1,_=!1,y=!1,w,k="no",S=!0,C=[];Dz(F);async function F(){t(10,S=!0),A.getBlocksWordCount([b]).then(f=>{t(1,i=f.wordCount)});const{root:s,div:d}=await ko(b,z,!1,!0,1);t(17,C=s.children.map(f=>(f.type=="h"&&t(3,u++,u),{id:f.id,count:0,type:f.type,subType:f.subtype,div:f.div}))),t(2,O=d.textContent.length),t(10,S=!1)}async function G(){var f,g,L,N;const s=((N=(L=(g=(f=l==null?void 0:l.trim())==null?void 0:f.replace(/,/g,","))==null?void 0:g.split(","))==null?void 0:L.map(h=>h.trim()))==null?void 0:N.filter(h=>!!h))??[];if(!s.reduce((h,p)=>{if(p=="b")return h;const m=Number(p);return h&&q2(m)&&m>=1&&m<=6},!0)){t(4,l="1,2,3,4,5,6,b");return}if(s.sort(),w==null)t(8,w=0);else if(!q2(w)){t(8,w=300);return}r.destroy();{const h={};h["custom-sy-readonly"]="true",h["custom-progmark"]=Pi,await A.setBlockAttrs(b,h)}w>0&&C.forEach(h=>{h.count=h.div.textContent.length}),await A.pushMsg(M0.plugin.i18n.splitByHeadings);let d=(await new yf(C,s,b).init()).split();w>0&&(await A.pushMsg(M0.plugin.i18n.splitByWordCount+":"+w),d=new _f(d,w).split()),await M0.storage.saveIndex(b,d),await M0.storage.resetBookReadingPoint(b),await M0.storage.toggleAutoCard(b,_),await M0.storage.setShowLastBlock(b,R),await M0.storage.setAddingIndex2paragraph(b,y),k=="i"||k=="p"||k=="t"?await M0.storage.setAutoSplitSentence(b,!0,k):await M0.storage.disableAutoSplitSentence(b),M0.startToLearnWithLock(b)}const Y=[[]];function K(){l=this.value,t(4,l)}function p0(){w=no(this.value),t(8,w)}function e0(){_=this.checked,t(6,_)}function E(){R=this.checked,t(5,R)}function q(){y=this.checked,t(7,y)}function M(){k=this.__value,t(9,k)}return n.$$set=s=>{"bookID"in s&&t(13,b=s.bookID),"bookName"in s&&t(0,z=s.bookName),"boxID"in s&&t(14,a=s.boxID),"dialog"in s&&t(15,r=s.dialog),"plugin"in s&&t(16,o=s.plugin)},n.$$.update=()=>{n.$$.dirty&131072&&t(11,c=C.length===0?1:C.length)},[z,i,O,u,l,R,_,y,w,k,S,c,G,b,a,r,o,C,K,p0,e0,E,q,M,Y]}class vf extends Uz{constructor(e){super(),Fz(this,e,Bf,wf,Nc,{bookID:13,bookName:0,boxID:14,dialog:15,plugin:16})}}function dr(n,e,t){const c=n.slice();return c[23]=e[t],c[24]=e,c[25]=t,c}function xf(n){let e;return{c(){e=I("h1"),e.textContent="loading……"},m(t,c){u0(t,e,c)},p:U1,d(t){t&&O0(e)}}}function Sf(n){let e,t,c,b,z,a,r,o,i,O,u,l,R,_,y,w,k,S,C,F,G,Y,K,p0,e0,E,q,M,s,d,f=zc(n[0].slice().reverse()),g=[];for(let L=0;Lvt&&Ar();function F0(){n[5].call(y,n[24],n[25])}function E0(){return n[6](n[23])}function V1(){n[7].call(C,n[24],n[25])}function T0(){return n[8](n[23])}function P0(){n[9].call(K,n[24],n[25])}function Wt(){return n[10](n[23])}function Y0(){n[11].call(q,n[24],n[25])}function K0(){return n[12](n[23])}function mt(){n[13].call(f,n[24],n[25])}function G0(){return n[14](n[23])}function V0(){n[15].call(h,n[24],n[25])}function Rt(){return n[16](n[23])}function Q0(){n[17].call($,n[24],n[25])}function Z0(){return n[18](n[23])}function _t(){return n[19](n[23])}function e1(){return n[20](n[23])}function n1(){return n[21](n[23])}return{c(){e=I("tr"),t=I("td"),t.textContent=`${n[25]+1}`,c=Z(),b=I("td"),a=N0(z),m1&&m1.c(),o=Z(),i=I("td"),u=N0(O),l=N0("%"),R=Z(),_=I("td"),y=I("input"),k=Z(),S=I("td"),C=I("input"),G=Z(),Y=I("td"),K=I("input"),e0=Z(),E=I("td"),q=I("input"),s=Z(),d=I("td"),f=I("input"),L=Z(),N=I("td"),h=I("input"),m=Z(),J=I("td"),$=I("input"),z0=Z(),a0=I("td"),Q=I("button"),y0=N0("📖"),l0=Z(),W1=I("td"),b0=I("button"),W=N0("🍕"),x=Z(),D=I("td"),c0=I("button"),r0=N0("🗑️"),W0=Z(),P(t,"class","prog-style__id"),P(b,"class","prog-style__id"),P(b,"title",r=n[23].row.content),P(i,"class","prog-style__id"),P(y,"type","checkbox"),P(_,"class","prog-style__id"),P(_,"title",w=M0.plugin.i18n.ignoreTxt+!!n[23].bookInfo.ignored),P(C,"type","checkbox"),P(S,"class","prog-style__id"),P(S,"title",F=M0.plugin.i18n.autoCard+!!n[23].bookInfo.autoCard),P(K,"type","checkbox"),P(Y,"class","prog-style__id"),P(Y,"title",p0=T.给分片内段落标上序号+n[23].bookInfo.addIndex2paragraph),P(q,"type","checkbox"),P(E,"class","prog-style__id"),P(E,"title",M=T.显示上一分片最后一个内容块+!!n[23].bookInfo.showLastBlock),P(f,"type","checkbox"),P(d,"class","prog-style__id"),P(d,"title",g=T.断句为段落块+!!n[23].bookInfo.autoSplitSentenceP),P(h,"type","checkbox"),P(N,"class","prog-style__id"),P(N,"title",p=T.断句为任务块+!!n[23].bookInfo.autoSplitSentenceT),P($,"type","checkbox"),P(J,"class","prog-style__id"),P(J,"title",V=T.断句为无序表+!!n[23].bookInfo.autoSplitSentenceI),P(Q,"title",A0="《"+n[23].row.content+"》"),P(Q,"class","prog-style__button"),P(b0,"title",B=T.重新分片+"《"+n[23].row.content+"》"),P(b0,"class","prog-style__button"),P(c0,"title",d0=T.删除+"《"+n[23].row.content+"》("+T.不删除已经产生的分片等文件+")"),P(c0,"class","prog-style__button")},m(s2,f0){u0(s2,e,f0),v(e,t),v(e,c),v(e,b),v(b,a),m1&&m1.m(b,null),v(e,o),v(e,i),v(i,u),v(i,l),v(e,R),v(e,_),v(_,y),y.checked=n[23].bookInfo.ignored,v(e,k),v(e,S),v(S,C),C.checked=n[23].bookInfo.autoCard,v(e,G),v(e,Y),v(Y,K),K.checked=n[23].bookInfo.addIndex2paragraph,v(e,e0),v(e,E),v(E,q),q.checked=n[23].bookInfo.showLastBlock,v(e,s),v(e,d),v(d,f),f.checked=n[23].bookInfo.autoSplitSentenceP,v(e,L),v(e,N),v(N,h),h.checked=n[23].bookInfo.autoSplitSentenceT,v(e,m),v(e,J),v(J,$),$.checked=n[23].bookInfo.autoSplitSentenceI,v(e,z0),v(e,a0),v(a0,Q),v(Q,y0),v(e,l0),v(e,W1),v(W1,b0),v(b0,W),v(e,x),v(e,D),v(D,c0),v(c0,r0),v(e,W0),s0||(C0=[q0(y,"change",F0),q0(y,"click",E0),q0(C,"change",V1),q0(C,"click",T0),q0(K,"change",P0),q0(K,"click",Wt),q0(q,"change",Y0),q0(q,"click",K0),q0(f,"change",mt),q0(f,"click",G0),q0(h,"change",V0),q0(h,"click",Rt),q0($,"change",Q0),q0($,"click",Z0),q0(Q,"click",_t),q0(b0,"click",e1),q0(c0,"click",n1)],s0=!0)},p(s2,f0){n=s2,f0&1&&z!==(z=n[23].row.content.slice(0,vt)+"")&&ye(a,z),n[23].row.content.length>vt?m1||(m1=Ar(),m1.c(),m1.m(b,null)):m1&&(m1.d(1),m1=null),f0&1&&r!==(r=n[23].row.content)&&P(b,"title",r),f0&1&&O!==(O=Math.ceil(n[23].bookInfo.point/n[23].bookIndex.length*100)+"")&&ye(u,O),f0&1&&(y.checked=n[23].bookInfo.ignored),f0&1&&w!==(w=M0.plugin.i18n.ignoreTxt+!!n[23].bookInfo.ignored)&&P(_,"title",w),f0&1&&(C.checked=n[23].bookInfo.autoCard),f0&1&&F!==(F=M0.plugin.i18n.autoCard+!!n[23].bookInfo.autoCard)&&P(S,"title",F),f0&1&&(K.checked=n[23].bookInfo.addIndex2paragraph),f0&1&&p0!==(p0=T.给分片内段落标上序号+n[23].bookInfo.addIndex2paragraph)&&P(Y,"title",p0),f0&1&&(q.checked=n[23].bookInfo.showLastBlock),f0&1&&M!==(M=T.显示上一分片最后一个内容块+!!n[23].bookInfo.showLastBlock)&&P(E,"title",M),f0&1&&(f.checked=n[23].bookInfo.autoSplitSentenceP),f0&1&&g!==(g=T.断句为段落块+!!n[23].bookInfo.autoSplitSentenceP)&&P(d,"title",g),f0&1&&(h.checked=n[23].bookInfo.autoSplitSentenceT),f0&1&&p!==(p=T.断句为任务块+!!n[23].bookInfo.autoSplitSentenceT)&&P(N,"title",p),f0&1&&($.checked=n[23].bookInfo.autoSplitSentenceI),f0&1&&V!==(V=T.断句为无序表+!!n[23].bookInfo.autoSplitSentenceI)&&P(J,"title",V),f0&1&&A0!==(A0="《"+n[23].row.content+"》")&&P(Q,"title",A0),f0&1&&B!==(B=T.重新分片+"《"+n[23].row.content+"》")&&P(b0,"title",B),f0&1&&d0!==(d0=T.删除+"《"+n[23].row.content+"》("+T.不删除已经产生的分片等文件+")")&&P(c0,"title",d0)},d(s2){s2&&O0(e),m1&&m1.d(),s0=!1,j2(C0)}}}function Tf(n){let e;function t(z,a){return z[0]?Sf:xf}let c=t(n),b=c(n);return{c(){b.c(),e=eo()},m(z,a){b.m(z,a),u0(z,e,a)},p(z,[a]){c===(c=t(z))&&b?b.p(z,a):(b.d(1),b=c(z),b&&(b.c(),b.m(e.parentNode,e)))},i:U1,o:U1,d(z){z&&O0(e),b.d(z)}}}const vt=10;function Xf(n,e,t){let{dialog:c}=e,b;Dz(async()=>{await z()});async function z(){const E=Object.entries(M0.storage.booksInfos()).map(([q])=>{const M=M0.storage.booksInfo(q),s=M0.storage.loadBookIndexIfNeeded(q),d=A.sqlOne(`select content from blocks where type='d' and id="${q}"`);return[q,M,s,d]}).flat();t(0,b=zA(await Promise.all(E),4).map(([q,M,s,d])=>{const f={};return f.bookID=q,f.bookInfo=M,f.bookIndex=s,f.row=d,f.row.content||(f.row.content=`(${T.找不到此书籍})`),f}))}co(async()=>{});async function a(E){await M0.startToLearnWithLock(E),c.destroy()}async function r(E){M0.addProgressiveReadingWithLock(E),c.destroy()}async function o(E,q){X0.confirm("⚠️",T.只删除记录与辅助数据不删除分片不删除闪卡等删除+q,async()=>{await M0.storage.removeIndex(E);const M=b.findIndex(s=>{if(s.bookID==E)return!0});M!=-1&&(b.splice(M,1),t(0,b))})}function i(E,q){E[q].bookInfo.ignored=this.checked,t(0,b)}const O=E=>M0.storage.setIgnoreBook(E.bookID,!E.bookInfo.ignored);function u(E,q){E[q].bookInfo.autoCard=this.checked,t(0,b)}const l=E=>M0.storage.toggleAutoCard(E.bookID);function R(E,q){E[q].bookInfo.addIndex2paragraph=this.checked,t(0,b)}const _=E=>M0.storage.setAddingIndex2paragraph(E.bookID,!E.bookInfo.addIndex2paragraph);function y(E,q){E[q].bookInfo.showLastBlock=this.checked,t(0,b)}const w=E=>M0.storage.setShowLastBlock(E.bookID,!E.bookInfo.showLastBlock);function k(E,q){E[q].bookInfo.autoSplitSentenceP=this.checked,t(0,b)}const S=E=>M0.storage.setAutoSplitSentence(E.bookID,!E.bookInfo.autoSplitSentenceP,"p");function C(E,q){E[q].bookInfo.autoSplitSentenceT=this.checked,t(0,b)}const F=E=>M0.storage.setAutoSplitSentence(E.bookID,!E.bookInfo.autoSplitSentenceT,"t");function G(E,q){E[q].bookInfo.autoSplitSentenceI=this.checked,t(0,b)}const Y=E=>M0.storage.setAutoSplitSentence(E.bookID,!E.bookInfo.autoSplitSentenceI,"i"),K=E=>a(E.bookID),p0=E=>r(E.bookID),e0=E=>o(E.bookID,E.row.content);return n.$$set=E=>{"dialog"in E&&t(4,c=E.dialog)},[b,a,r,o,c,i,O,u,l,R,_,y,w,k,S,C,F,G,Y,K,p0,e0]}class kf extends Uz{constructor(e){super(),Fz(this,e,Xf,Tf,Nc,{dialog:4})}}class Cf{constructor(e){U(this,"plugin");this.plugin=e}async onLayoutReady(){await $z(this.plugin.name,H2),await this.plugin.loadData(H2),Object.entries(this.booksInfos()).forEach(([e,t])=>{typeof t.autoCard=="string"&&(t.autoCard==="yes"?t.autoCard=!0:t.autoCard=!1),typeof t.ignored=="string"&&(t.ignored==="yes"?t.ignored=!0:t.ignored=!1)})}async updateBookInfoTime(e){this.updateBookInfo(e,{})}async resetBookReadingPoint(e){this.updateBookInfo(e,{point:0})}async setIgnoreBook(e,t){t===void 0?(await this.booksInfo(e)).ignored?(await this.updateBookInfo(e,{ignored:!1}),await A.pushMsg(this.plugin.i18n.msgPushBook)):(await this.updateBookInfo(e,{ignored:!0}),await A.pushMsg(this.plugin.i18n.msgIgnoreBook)):(await this.updateBookInfo(e,{ignored:t}),t?await A.pushMsg(this.plugin.i18n.msgIgnoreBook):await A.pushMsg(this.plugin.i18n.msgPushBook))}async setShowLastBlock(e,t){await this.updateBookInfo(e,{showLastBlock:t}),t?await A.pushMsg(T.显示上一分片最后一个内容块):await A.pushMsg(T.cancel取消+T.显示上一分片最后一个内容块)}async disableAutoSplitSentence(e){await this.updateBookInfo(e,{autoSplitSentenceP:!1}),await this.updateBookInfo(e,{autoSplitSentenceT:!1}),await this.updateBookInfo(e,{autoSplitSentenceI:!1})}async setAutoSplitSentence(e,t,c){const b=await this.booksInfo(e);b.autoSplitSentenceP=!1,b.autoSplitSentenceT=!1,b.autoSplitSentenceI=!1,c=="p"?(await this.updateBookInfo(e,{autoSplitSentenceP:t}),t?await A.pushMsg(T.自动断句+"P"):await A.pushMsg(T.cancel取消+T.自动断句+"P")):c=="t"?(await this.updateBookInfo(e,{autoSplitSentenceT:t}),t?await A.pushMsg(T.自动断句+"T"):await A.pushMsg(T.cancel取消+T.自动断句+"T")):c=="i"&&(await this.updateBookInfo(e,{autoSplitSentenceI:t}),t?await A.pushMsg(T.自动断句+"I"):await A.pushMsg(T.cancel取消+T.自动断句+"I"))}async toggleAutoCard(e,t){const c=await this.booksInfo(e);typeof t=="boolean"?await this.updateBookInfo(e,{autoCard:t}):c.autoCard?(await this.updateBookInfo(e,{autoCard:!1}),await A.pushMsg(this.plugin.i18n.msgNotAutoCard)):(await this.updateBookInfo(e,{autoCard:!0}),await A.pushMsg(this.plugin.i18n.msgAutoCard))}async setAddingIndex2paragraph(e,t){await this.updateBookInfo(e,{addIndex2paragraph:t}),await A.pushMsg(`${T.给分片内段落标上序号}:${t}`)}async updateBookInfo(e,t){if((e==null?void 0:e.length)!==22)return;const c=await this.booksInfo(e);return typeof t.addIndex2paragraph=="boolean"&&(c.addIndex2paragraph=t.addIndex2paragraph),typeof t.autoCard=="boolean"&&(c.autoCard=t.autoCard),typeof t.ignored=="boolean"&&(c.ignored=t.ignored),typeof t.showLastBlock=="boolean"&&(c.showLastBlock=t.showLastBlock),typeof t.autoSplitSentenceP=="boolean"&&(c.autoSplitSentenceP=t.autoSplitSentenceP),typeof t.autoSplitSentenceT=="boolean"&&(c.autoSplitSentenceT=t.autoSplitSentenceT),typeof t.autoSplitSentenceI=="boolean"&&(c.autoSplitSentenceI=t.autoSplitSentenceI),q2(t.point)&&(c.point=t.point),c.time=await A.currentTimeMs(),this.booksInfos()[e]=c,this.saveBookInfos()}async booksInfo(e){if(!e)return{};let t=this.booksInfos()[e];if(t||(t={point:0,bookID:e,time:await A.currentTimeMs(),ignored:!1,showLastBlock:!1,autoCard:!1,autoSplitSentenceP:!1,autoSplitSentenceT:!1,autoSplitSentenceI:!1,addIndex2paragraph:!1},this.booksInfos()[e]=t),!t.boxID){const c=await A.sqlOne(`select box from blocks where id="${e}"`);c?t.boxID=c.box:(A.pushMsg(this.plugin.i18n.cannotFindTheBoxs+e),t.boxID=""),this.booksInfos()[e]=t}return t}booksInfos(){const e=this.plugin.data[H2];return(!e||typeof e=="string")&&(this.plugin.data[H2]={}),this.plugin.data[H2]}async gotoBlock(e,t){t>=0&&await this.updateBookInfo(e,{point:t})}async saveIndex(e,t){const[c,b]=If(t);await this.plugin.saveData(e,{data:b}),this.plugin.data[xt(e)]=c}async saveBookInfos(){return this.plugin.saveData(H2,this.booksInfos())}async removeIndex(e){return delete this.booksInfos()[e],delete this.booksInfos()[xt(e)],await this.saveBookInfos(),this.plugin.removeData(e)}async loadBookIndexIfNeeded(e){let t=this.plugin.data[xt(e)];return t||(t=jf(await this.plugin.loadData(e)),this.plugin.data[xt(e)]=t),t}}function jf(n){n=(n==null?void 0:n.data)??"";const e=[];for(const t of n.split("#")){const c=[];for(const b of t.split(","))c.push(b);e.push(c)}return e}function If(n){const e=[],t=[];for(const c of n){const b=[];for(const z of c)b.push(z.id);e.push(b.join(",")),t.push(b)}return[t,e.join("#")]}function xt(n){return n+"_cache"}const Kz="custom-prog-button",Co="custom-prog-button-noteID",jo="custom-prog-button-bookID",Io="custom-prog-button-point";function Ef(n){n==null||n.querySelectorAll(`div[${Kz}]`).forEach(e=>{var t;e.addEventListener("click",Uf),e.style.backgroundColor="var(--b3-font-background11)",(t=ut(e))==null||t.setAttribute(I1,"false")})}function Pf(n,e,t){return`{{{col
+`,id:O})}this.textAreas.push({blocks:i,ref:a}),b++}}return!0}}function sr(n,e){return`{: ${ee}="${n}" ${n2}="${e}" ${fe}="1"}`}function y2(n,e){const t=D1();return{attrLine:`{: id="${t}" ${ee}="${n}" ${n2}="${e}" ${fe}="1"}`,newID:t}}function mf(n){return n.startsWith("”")||n.startsWith("’")||n.startsWith('"')||n.startsWith("'")||n.startsWith("】")||n.startsWith("]")||n.startsWith("}")||n.startsWith(")")||n.startsWith(")")||n.startsWith("』")||n.startsWith("」")||n.startsWith("!")||n.startsWith("!")||n.startsWith("。")||n.startsWith(". ")||n.startsWith("?")||n.startsWith("?")||n.startsWith(";")||n.startsWith(";")||n.startsWith(":")||n.startsWith(":")||n.startsWith(">")||n.startsWith("》")||n.startsWith("…")}function Rf(n,e){for(;mf(e);)n+=e[0],e=e.slice(1);return[n,e]}function Be(n,e){const t=[];for(const c of n.filter(b=>b.length>0)){const b=c.split(new RegExp("\\"+e,"g"));for(let z=0;z0;){const[r,o]=Rf(b[a-1],b[a]);b[a-1]=r,b[a]=o,a--}}t.push(...b.map(z=>z.trim()).map(z=>z.trim().replace(/\*+$/g,"")).filter(z=>z.length>0).filter(z=>z!="*"))}return t}function _f(n){const e=n.match(/custom-progref="([^"]+)"/),t=n.match(/custom-paragraph-index="([^"]+)"/);let c="";return t&&t[1]&&(c=t[1]),e?{ref:e[1]??"",idx:c}:{}}typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(fd);class yf{constructor(e,t){U(this,"groups");U(this,"accCount");U(this,"maxCount");U(this,"collect");U(this,"list");this.groups=e,this.accCount=0,this.collect=[],this.list=[],this.maxCount=t}newList(){this.list.length>0&&(this.collect.push(this.list),this.list=[],this.accCount=0)}add(e){this.list.push(e),e.type!=="h"&&(this.accCount+=e.count),this.accCount>=this.maxCount&&this.newList()}splitPiece(e){this.collect=[];for(const t of e)this.add(t);return this.newList(),this.collect}split(){const e=[];for(const t of this.groups)e.push(...this.splitPiece(t));return e}}class Lf{constructor(e,t,c){U(this,"wordCount");U(this,"group");U(this,"list");U(this,"lastType");U(this,"bookID");U(this,"headings");this.wordCount=e,this.group=[],this.list=[],this.headings=t,this.bookID=c}async init(){if(this.headings.includes("b")){nA(this.headings,"b"),this.headings.push("7");const e=await A.sql(`select id from blocks where root_id='${this.bookID}' and markdown like "**%**" limit 10000`),t=new Set(e.map(c=>c.id));this.wordCount.forEach(c=>{t.has(c.id)&&(c.type="h",c.subType="h7")})}return this.headings=this.headings.map(e=>`h${e}`),this}add(e){this.getList(e).push(e),this.lastType=e.type}next(){this.list.length>0&&(this.group.push(this.list),this.list=[])}shouldNext(e){return!!(e.type==="h"&&this.headings.includes(e.subType)&&this.lastType!="h")}getList(e){return this.shouldNext(e)&&this.next(),this.list}split(){if(this.headings.length==0)return[this.wordCount];for(const e of this.wordCount)this.add(e);return this.next(),this.group}}function Or(n,e,t){const c=n.slice();return c[26]=e[t],c}function Nf(n){let e,t,c,b,z,a,r,o,i,O,u,l,R,_,y,w=T.把阅读到的分片设置为闪卡+"",k,S,C,F,G,Y,K,p0=T.显示上一个分片的最后一个块+"",e0,E,q,M,s,d,f,g=T.新建分片时给段落标上序号+"",L,N,h,p,m,J,$,V,z0,a0,Q,y0,A0,l0,W1=zc(["p","t","i","no"]),b0=[];for(let W=0;W<4;W+=1)b0[W]=ur(Or(n,W1,W));return{c(){e=I("div"),t=Z(),c=I("div"),c.textContent=`1、${M0.plugin.i18n.splitByHeadings}`,b=Z(),z=I("input"),a=Z(),r=I("div"),o=Z(),i=I("div"),i.textContent=`2、${T.按文本长度拆分}`,O=Z(),u=I("input"),l=Z(),R=I("div"),_=Z(),y=I("label"),k=N0(w),S=Z(),C=I("input"),F=Z(),G=I("div"),Y=Z(),K=I("label"),e0=N0(p0),E=Z(),q=I("input"),M=Z(),s=I("div"),d=Z(),f=I("label"),L=N0(g),N=Z(),h=I("input"),p=Z(),m=I("div"),J=Z();for(let W=0;W<4;W+=1)b0[W].c();$=Z(),V=I("div"),z0=Z(),a0=I("button"),a0.textContent=`${M0.plugin.i18n.addOrReaddDoc}`,Q=Z(),y0=I("div"),P(e,"class","fn__hr"),P(c,"class","prog-style__id"),P(z,"type","text"),P(z,"class","prog-style__input"),P(z,"placeholder","1,2,3,4,5,6,b"),P(r,"class","fn__hr"),P(i,"class","prog-style__id"),P(u,"type","number"),P(u,"class","prog-style__input"),P(u,"placeholder","300"),P(u,"min","0"),P(R,"class","fn__hr"),P(C,"type","checkbox"),P(C,"class","prog-style__checkbox"),P(y,"title",M0.plugin.i18n.autoCard),P(G,"class","fn__hr"),P(q,"type","checkbox"),P(q,"class","prog-style__checkbox"),P(s,"class","fn__hr"),P(h,"type","checkbox"),P(h,"class","prog-style__checkbox"),P(m,"class","fn__hr"),P(V,"class","fn__hr"),P(a0,"class","prog-style__button"),P(y0,"class","fn__hr")},m(W,B){u0(W,e,B),u0(W,t,B),u0(W,c,B),u0(W,b,B),u0(W,z,B),Cn(z,n[4]),u0(W,a,B),u0(W,r,B),u0(W,o,B),u0(W,i,B),u0(W,O,B),u0(W,u,B),Cn(u,n[8]),u0(W,l,B),u0(W,R,B),u0(W,_,B),u0(W,y,B),v(y,k),v(y,S),v(y,C),C.checked=n[6],u0(W,F,B),u0(W,G,B),u0(W,Y,B),u0(W,K,B),v(K,e0),v(K,E),v(K,q),q.checked=n[5],u0(W,M,B),u0(W,s,B),u0(W,d,B),u0(W,f,B),v(f,L),v(f,N),v(f,h),h.checked=n[7],u0(W,p,B),u0(W,m,B),u0(W,J,B);for(let x=0;x<4;x+=1)b0[x]&&b0[x].m(W,B);u0(W,$,B),u0(W,V,B),u0(W,z0,B),u0(W,a0,B),u0(W,Q,B),u0(W,y0,B),A0||(l0=[q0(z,"input",n[18]),q0(u,"input",n[19]),q0(C,"change",n[20]),q0(q,"change",n[21]),q0(h,"change",n[22]),q0(a0,"click",n[12])],A0=!0)},p(W,B){if(B&16&&z.value!==W[4]&&Cn(z,W[4]),B&256&&no(u.value)!==W[8]&&Cn(u,W[8]),B&64&&(C.checked=W[6]),B&32&&(q.checked=W[5]),B&128&&(h.checked=W[7]),B&512){W1=zc(["p","t","i","no"]);let x;for(x=0;x<4;x+=1){const D=Or(W,W1,x);b0[x]?b0[x].p(D,B):(b0[x]=ur(D),b0[x].c(),b0[x].m($.parentNode,$))}for(;x<4;x+=1)b0[x].d(1)}},d(W){W&&(O0(e),O0(t),O0(c),O0(b),O0(z),O0(a),O0(r),O0(o),O0(i),O0(O),O0(u),O0(l),O0(R),O0(_),O0(y),O0(F),O0(G),O0(Y),O0(K),O0(M),O0(s),O0(d),O0(f),O0(p),O0(m),O0(J),O0($),O0(V),O0(z0),O0(a0),O0(Q),O0(y0)),ZM(b0,W),A0=!1,j2(l0)}}}function wf(n){let e;return{c(){e=I("p"),e.textContent=`🫸🫸🫸${T.请耐心等待}🫷🫷🫷`,P(e,"class","notice svelte-1skb77c")},m(t,c){u0(t,e,c)},p:U1,d(t){t&&O0(e)}}}function ur(n){let e,t,c,b=(n[26]=="no"?T.不断句:"")+"",z,a,r=(n[26]=="p"?T.断句为段落块:"")+"",o,i,O=(n[26]=="t"?T.断句为任务块:"")+"",u,l,R=(n[26]=="i"?T.断句为无序表:"")+"",_,y,w,k,S,C;return k=ad(n[24][0]),{c(){e=I("label"),t=I("input"),c=Z(),z=N0(b),a=Z(),o=N0(r),i=Z(),u=N0(O),l=Z(),_=N0(R),y=Z(),w=I("br"),P(t,"type","radio"),P(t,"name","scoops"),t.__value=n[26],Cn(t,t.__value),k.p(t)},m(F,G){u0(F,e,G),v(e,t),t.checked=t.__value===n[9],v(e,c),v(e,z),v(e,a),v(e,o),v(e,i),v(e,u),v(e,l),v(e,_),v(e,y),u0(F,w,G),S||(C=q0(t,"change",n[23]),S=!0)},p(F,G){G&512&&(t.checked=t.__value===F[9])},d(F){F&&(O0(e),O0(w)),k.r(),S=!1,C()}}}function Bf(n){let e,t,c,b,z,a,r,o,i,O,u=T.总字数+"",l,R,_,y,w,k=T.总文本长度+"",S,C,F,G,Y,K=T.各级标题数+"",p0,e0,E,q,M,s=T.总内容块数+"",d,f,g,L,N,h=T.平均每个标题下有x块(Math.ceil(n[11]/n[3]))+"",p,m,J,$=T.平均每个块的字数(Math.ceil(n[1]/n[11]))+"",V,z0,a0,Q=T.平均每个块的文本长度(Math.ceil(n[2]/n[11]))+"",y0,A0,l0;function W1(B,x){return B[10]?wf:Nf}let b0=W1(n),W=b0(n);return{c(){e=I("div"),t=Z(),c=I("div"),b=N0("《"),z=N0(n[0]),a=N0("》"),r=Z(),o=I("div"),i=Z(),O=I("div"),l=N0(u),R=N0(" : "),_=N0(n[1]),y=I("br"),w=Z(),S=N0(k),C=N0(" : "),F=N0(n[2]),G=I("br"),Y=Z(),p0=N0(K),e0=N0(" : "),E=N0(n[3]),q=I("br"),M=Z(),d=N0(s),f=N0(" : "),g=N0(n[11]),L=I("br"),N=Z(),p=N0(h),m=I("br"),J=Z(),V=N0($),z0=I("br"),a0=Z(),y0=N0(Q),A0=Z(),W.c(),l0=eo(),P(e,"class","fn__hr"),P(c,"class","prog-style__id"),P(o,"class","fn__hr"),P(O,"class","prog-style__id")},m(B,x){u0(B,e,x),u0(B,t,x),u0(B,c,x),v(c,b),v(c,z),v(c,a),u0(B,r,x),u0(B,o,x),u0(B,i,x),u0(B,O,x),v(O,l),v(O,R),v(O,_),v(O,y),v(O,w),v(O,S),v(O,C),v(O,F),v(O,G),v(O,Y),v(O,p0),v(O,e0),v(O,E),v(O,q),v(O,M),v(O,d),v(O,f),v(O,g),v(O,L),v(O,N),v(O,p),v(O,m),v(O,J),v(O,V),v(O,z0),v(O,a0),v(O,y0),u0(B,A0,x),W.m(B,x),u0(B,l0,x)},p(B,[x]){x&1&&ye(z,B[0]),x&2&&ye(_,B[1]),x&4&&ye(F,B[2]),x&8&&ye(E,B[3]),x&2048&&ye(g,B[11]),x&2056&&h!==(h=T.平均每个标题下有x块(Math.ceil(B[11]/B[3]))+"")&&ye(p,h),x&2050&&$!==($=T.平均每个块的字数(Math.ceil(B[1]/B[11]))+"")&&ye(V,$),x&2052&&Q!==(Q=T.平均每个块的文本长度(Math.ceil(B[2]/B[11]))+"")&&ye(y0,Q),b0===(b0=W1(B))&&W?W.p(B,x):(W.d(1),W=b0(B),W&&(W.c(),W.m(l0.parentNode,l0)))},i:U1,o:U1,d(B){B&&(O0(e),O0(t),O0(c),O0(r),O0(o),O0(i),O0(O),O0(A0),O0(l0)),W.d(B)}}}function vf(n,e,t){let c,{bookID:b}=e,{bookName:z}=e,{boxID:a}=e,{dialog:r}=e,{plugin:o}=e,i=0,O=0,u=1,l,R=!1,_=!1,y=!1,w,k="no",S=!0,C=[];Dz(F);async function F(){t(10,S=!0),A.getBlocksWordCount([b]).then(f=>{t(1,i=f.wordCount)});const{root:s,div:d}=await Co(b,z,!1,!0,1);t(17,C=s.children.map(f=>(f.type=="h"&&t(3,u++,u),{id:f.id,count:0,type:f.type,subType:f.subtype,div:f.div}))),t(2,O=d.textContent.length),t(10,S=!1)}async function G(){var f,g,L,N;const s=((N=(L=(g=(f=l==null?void 0:l.trim())==null?void 0:f.replace(/,/g,","))==null?void 0:g.split(","))==null?void 0:L.map(h=>h.trim()))==null?void 0:N.filter(h=>!!h))??[];if(!s.reduce((h,p)=>{if(p=="b")return h;const m=Number(p);return h&&q2(m)&&m>=1&&m<=6},!0)){t(4,l="1,2,3,4,5,6,b");return}if(s.sort(),w==null)t(8,w=0);else if(!q2(w)){t(8,w=300);return}r.destroy();{const h={};h["custom-sy-readonly"]="true",h["custom-progmark"]=Di,await A.setBlockAttrs(b,h)}w>0&&C.forEach(h=>{h.count=h.div.textContent.length}),await A.pushMsg(M0.plugin.i18n.splitByHeadings);let d=(await new Lf(C,s,b).init()).split();w>0&&(await A.pushMsg(M0.plugin.i18n.splitByWordCount+":"+w),d=new yf(d,w).split()),await M0.storage.saveIndex(b,d),await M0.storage.resetBookReadingPoint(b),await M0.storage.toggleAutoCard(b,_),await M0.storage.setShowLastBlock(b,R),await M0.storage.setAddingIndex2paragraph(b,y),k=="i"||k=="p"||k=="t"?await M0.storage.setAutoSplitSentence(b,!0,k):await M0.storage.disableAutoSplitSentence(b),M0.startToLearnWithLock(b)}const Y=[[]];function K(){l=this.value,t(4,l)}function p0(){w=no(this.value),t(8,w)}function e0(){_=this.checked,t(6,_)}function E(){R=this.checked,t(5,R)}function q(){y=this.checked,t(7,y)}function M(){k=this.__value,t(9,k)}return n.$$set=s=>{"bookID"in s&&t(13,b=s.bookID),"bookName"in s&&t(0,z=s.bookName),"boxID"in s&&t(14,a=s.boxID),"dialog"in s&&t(15,r=s.dialog),"plugin"in s&&t(16,o=s.plugin)},n.$$.update=()=>{n.$$.dirty&131072&&t(11,c=C.length===0?1:C.length)},[z,i,O,u,l,R,_,y,w,k,S,c,G,b,a,r,o,C,K,p0,e0,E,q,M,Y]}class xf extends Uz{constructor(e){super(),Fz(this,e,vf,Bf,Nc,{bookID:13,bookName:0,boxID:14,dialog:15,plugin:16})}}function dr(n,e,t){const c=n.slice();return c[23]=e[t],c[24]=e,c[25]=t,c}function Sf(n){let e;return{c(){e=I("h1"),e.textContent="loading……"},m(t,c){u0(t,e,c)},p:U1,d(t){t&&O0(e)}}}function Tf(n){let e,t,c,b,z,a,r,o,i,O,u,l,R,_,y,w,k,S,C,F,G,Y,K,p0,e0,E,q,M,s,d,f=zc(n[0].slice().reverse()),g=[];for(let L=0;Lvt&&Ar();function F0(){n[5].call(y,n[24],n[25])}function E0(){return n[6](n[23])}function V1(){n[7].call(C,n[24],n[25])}function T0(){return n[8](n[23])}function P0(){n[9].call(K,n[24],n[25])}function Wt(){return n[10](n[23])}function Y0(){n[11].call(q,n[24],n[25])}function K0(){return n[12](n[23])}function mt(){n[13].call(f,n[24],n[25])}function G0(){return n[14](n[23])}function V0(){n[15].call(h,n[24],n[25])}function Rt(){return n[16](n[23])}function Q0(){n[17].call($,n[24],n[25])}function Z0(){return n[18](n[23])}function _t(){return n[19](n[23])}function e1(){return n[20](n[23])}function n1(){return n[21](n[23])}return{c(){e=I("tr"),t=I("td"),t.textContent=`${n[25]+1}`,c=Z(),b=I("td"),a=N0(z),m1&&m1.c(),o=Z(),i=I("td"),u=N0(O),l=N0("%"),R=Z(),_=I("td"),y=I("input"),k=Z(),S=I("td"),C=I("input"),G=Z(),Y=I("td"),K=I("input"),e0=Z(),E=I("td"),q=I("input"),s=Z(),d=I("td"),f=I("input"),L=Z(),N=I("td"),h=I("input"),m=Z(),J=I("td"),$=I("input"),z0=Z(),a0=I("td"),Q=I("button"),y0=N0("📖"),l0=Z(),W1=I("td"),b0=I("button"),W=N0("🍕"),x=Z(),D=I("td"),c0=I("button"),r0=N0("🗑️"),W0=Z(),P(t,"class","prog-style__id"),P(b,"class","prog-style__id"),P(b,"title",r=n[23].row.content),P(i,"class","prog-style__id"),P(y,"type","checkbox"),P(_,"class","prog-style__id"),P(_,"title",w=M0.plugin.i18n.ignoreTxt+!!n[23].bookInfo.ignored),P(C,"type","checkbox"),P(S,"class","prog-style__id"),P(S,"title",F=M0.plugin.i18n.autoCard+!!n[23].bookInfo.autoCard),P(K,"type","checkbox"),P(Y,"class","prog-style__id"),P(Y,"title",p0=T.给分片内段落标上序号+n[23].bookInfo.addIndex2paragraph),P(q,"type","checkbox"),P(E,"class","prog-style__id"),P(E,"title",M=T.显示上一分片最后一个内容块+!!n[23].bookInfo.showLastBlock),P(f,"type","checkbox"),P(d,"class","prog-style__id"),P(d,"title",g=T.断句为段落块+!!n[23].bookInfo.autoSplitSentenceP),P(h,"type","checkbox"),P(N,"class","prog-style__id"),P(N,"title",p=T.断句为任务块+!!n[23].bookInfo.autoSplitSentenceT),P($,"type","checkbox"),P(J,"class","prog-style__id"),P(J,"title",V=T.断句为无序表+!!n[23].bookInfo.autoSplitSentenceI),P(Q,"title",A0="《"+n[23].row.content+"》"),P(Q,"class","prog-style__button"),P(b0,"title",B=T.重新分片+"《"+n[23].row.content+"》"),P(b0,"class","prog-style__button"),P(c0,"title",d0=T.删除+"《"+n[23].row.content+"》("+T.不删除已经产生的分片等文件+")"),P(c0,"class","prog-style__button")},m(s2,f0){u0(s2,e,f0),v(e,t),v(e,c),v(e,b),v(b,a),m1&&m1.m(b,null),v(e,o),v(e,i),v(i,u),v(i,l),v(e,R),v(e,_),v(_,y),y.checked=n[23].bookInfo.ignored,v(e,k),v(e,S),v(S,C),C.checked=n[23].bookInfo.autoCard,v(e,G),v(e,Y),v(Y,K),K.checked=n[23].bookInfo.addIndex2paragraph,v(e,e0),v(e,E),v(E,q),q.checked=n[23].bookInfo.showLastBlock,v(e,s),v(e,d),v(d,f),f.checked=n[23].bookInfo.autoSplitSentenceP,v(e,L),v(e,N),v(N,h),h.checked=n[23].bookInfo.autoSplitSentenceT,v(e,m),v(e,J),v(J,$),$.checked=n[23].bookInfo.autoSplitSentenceI,v(e,z0),v(e,a0),v(a0,Q),v(Q,y0),v(e,l0),v(e,W1),v(W1,b0),v(b0,W),v(e,x),v(e,D),v(D,c0),v(c0,r0),v(e,W0),s0||(C0=[q0(y,"change",F0),q0(y,"click",E0),q0(C,"change",V1),q0(C,"click",T0),q0(K,"change",P0),q0(K,"click",Wt),q0(q,"change",Y0),q0(q,"click",K0),q0(f,"change",mt),q0(f,"click",G0),q0(h,"change",V0),q0(h,"click",Rt),q0($,"change",Q0),q0($,"click",Z0),q0(Q,"click",_t),q0(b0,"click",e1),q0(c0,"click",n1)],s0=!0)},p(s2,f0){n=s2,f0&1&&z!==(z=n[23].row.content.slice(0,vt)+"")&&ye(a,z),n[23].row.content.length>vt?m1||(m1=Ar(),m1.c(),m1.m(b,null)):m1&&(m1.d(1),m1=null),f0&1&&r!==(r=n[23].row.content)&&P(b,"title",r),f0&1&&O!==(O=Math.ceil(n[23].bookInfo.point/n[23].bookIndex.length*100)+"")&&ye(u,O),f0&1&&(y.checked=n[23].bookInfo.ignored),f0&1&&w!==(w=M0.plugin.i18n.ignoreTxt+!!n[23].bookInfo.ignored)&&P(_,"title",w),f0&1&&(C.checked=n[23].bookInfo.autoCard),f0&1&&F!==(F=M0.plugin.i18n.autoCard+!!n[23].bookInfo.autoCard)&&P(S,"title",F),f0&1&&(K.checked=n[23].bookInfo.addIndex2paragraph),f0&1&&p0!==(p0=T.给分片内段落标上序号+n[23].bookInfo.addIndex2paragraph)&&P(Y,"title",p0),f0&1&&(q.checked=n[23].bookInfo.showLastBlock),f0&1&&M!==(M=T.显示上一分片最后一个内容块+!!n[23].bookInfo.showLastBlock)&&P(E,"title",M),f0&1&&(f.checked=n[23].bookInfo.autoSplitSentenceP),f0&1&&g!==(g=T.断句为段落块+!!n[23].bookInfo.autoSplitSentenceP)&&P(d,"title",g),f0&1&&(h.checked=n[23].bookInfo.autoSplitSentenceT),f0&1&&p!==(p=T.断句为任务块+!!n[23].bookInfo.autoSplitSentenceT)&&P(N,"title",p),f0&1&&($.checked=n[23].bookInfo.autoSplitSentenceI),f0&1&&V!==(V=T.断句为无序表+!!n[23].bookInfo.autoSplitSentenceI)&&P(J,"title",V),f0&1&&A0!==(A0="《"+n[23].row.content+"》")&&P(Q,"title",A0),f0&1&&B!==(B=T.重新分片+"《"+n[23].row.content+"》")&&P(b0,"title",B),f0&1&&d0!==(d0=T.删除+"《"+n[23].row.content+"》("+T.不删除已经产生的分片等文件+")")&&P(c0,"title",d0)},d(s2){s2&&O0(e),m1&&m1.d(),s0=!1,j2(C0)}}}function Xf(n){let e;function t(z,a){return z[0]?Tf:Sf}let c=t(n),b=c(n);return{c(){b.c(),e=eo()},m(z,a){b.m(z,a),u0(z,e,a)},p(z,[a]){c===(c=t(z))&&b?b.p(z,a):(b.d(1),b=c(z),b&&(b.c(),b.m(e.parentNode,e)))},i:U1,o:U1,d(z){z&&O0(e),b.d(z)}}}const vt=10;function kf(n,e,t){let{dialog:c}=e,b;Dz(async()=>{await z()});async function z(){const E=Object.entries(M0.storage.booksInfos()).map(([q])=>{const M=M0.storage.booksInfo(q),s=M0.storage.loadBookIndexIfNeeded(q),d=A.sqlOne(`select content from blocks where type='d' and id="${q}"`);return[q,M,s,d]}).flat();t(0,b=aA(await Promise.all(E),4).map(([q,M,s,d])=>{const f={};return f.bookID=q,f.bookInfo=M,f.bookIndex=s,f.row=d,f.row.content||(f.row.content=`(${T.找不到此书籍})`),f}))}co(async()=>{});async function a(E){await M0.startToLearnWithLock(E),c.destroy()}async function r(E){M0.addProgressiveReadingWithLock(E),c.destroy()}async function o(E,q){X0.confirm("⚠️",T.只删除记录与辅助数据不删除分片不删除闪卡等删除+q,async()=>{await M0.storage.removeIndex(E);const M=b.findIndex(s=>{if(s.bookID==E)return!0});M!=-1&&(b.splice(M,1),t(0,b))})}function i(E,q){E[q].bookInfo.ignored=this.checked,t(0,b)}const O=E=>M0.storage.setIgnoreBook(E.bookID,!E.bookInfo.ignored);function u(E,q){E[q].bookInfo.autoCard=this.checked,t(0,b)}const l=E=>M0.storage.toggleAutoCard(E.bookID);function R(E,q){E[q].bookInfo.addIndex2paragraph=this.checked,t(0,b)}const _=E=>M0.storage.setAddingIndex2paragraph(E.bookID,!E.bookInfo.addIndex2paragraph);function y(E,q){E[q].bookInfo.showLastBlock=this.checked,t(0,b)}const w=E=>M0.storage.setShowLastBlock(E.bookID,!E.bookInfo.showLastBlock);function k(E,q){E[q].bookInfo.autoSplitSentenceP=this.checked,t(0,b)}const S=E=>M0.storage.setAutoSplitSentence(E.bookID,!E.bookInfo.autoSplitSentenceP,"p");function C(E,q){E[q].bookInfo.autoSplitSentenceT=this.checked,t(0,b)}const F=E=>M0.storage.setAutoSplitSentence(E.bookID,!E.bookInfo.autoSplitSentenceT,"t");function G(E,q){E[q].bookInfo.autoSplitSentenceI=this.checked,t(0,b)}const Y=E=>M0.storage.setAutoSplitSentence(E.bookID,!E.bookInfo.autoSplitSentenceI,"i"),K=E=>a(E.bookID),p0=E=>r(E.bookID),e0=E=>o(E.bookID,E.row.content);return n.$$set=E=>{"dialog"in E&&t(4,c=E.dialog)},[b,a,r,o,c,i,O,u,l,R,_,y,w,k,S,C,F,G,Y,K,p0,e0]}class Cf extends Uz{constructor(e){super(),Fz(this,e,kf,Xf,Nc,{dialog:4})}}class jf{constructor(e){U(this,"plugin");this.plugin=e}async onLayoutReady(){await $z(this.plugin.name,H2),await this.plugin.loadData(H2),Object.entries(this.booksInfos()).forEach(([e,t])=>{typeof t.autoCard=="string"&&(t.autoCard==="yes"?t.autoCard=!0:t.autoCard=!1),typeof t.ignored=="string"&&(t.ignored==="yes"?t.ignored=!0:t.ignored=!1)})}async updateBookInfoTime(e){this.updateBookInfo(e,{})}async resetBookReadingPoint(e){this.updateBookInfo(e,{point:0})}async setIgnoreBook(e,t){t===void 0?(await this.booksInfo(e)).ignored?(await this.updateBookInfo(e,{ignored:!1}),await A.pushMsg(this.plugin.i18n.msgPushBook)):(await this.updateBookInfo(e,{ignored:!0}),await A.pushMsg(this.plugin.i18n.msgIgnoreBook)):(await this.updateBookInfo(e,{ignored:t}),t?await A.pushMsg(this.plugin.i18n.msgIgnoreBook):await A.pushMsg(this.plugin.i18n.msgPushBook))}async setShowLastBlock(e,t){await this.updateBookInfo(e,{showLastBlock:t}),t?await A.pushMsg(T.显示上一分片最后一个内容块):await A.pushMsg(T.cancel取消+T.显示上一分片最后一个内容块)}async disableAutoSplitSentence(e){await this.updateBookInfo(e,{autoSplitSentenceP:!1}),await this.updateBookInfo(e,{autoSplitSentenceT:!1}),await this.updateBookInfo(e,{autoSplitSentenceI:!1})}async setAutoSplitSentence(e,t,c){const b=await this.booksInfo(e);b.autoSplitSentenceP=!1,b.autoSplitSentenceT=!1,b.autoSplitSentenceI=!1,c=="p"?(await this.updateBookInfo(e,{autoSplitSentenceP:t}),t?await A.pushMsg(T.自动断句+"P"):await A.pushMsg(T.cancel取消+T.自动断句+"P")):c=="t"?(await this.updateBookInfo(e,{autoSplitSentenceT:t}),t?await A.pushMsg(T.自动断句+"T"):await A.pushMsg(T.cancel取消+T.自动断句+"T")):c=="i"&&(await this.updateBookInfo(e,{autoSplitSentenceI:t}),t?await A.pushMsg(T.自动断句+"I"):await A.pushMsg(T.cancel取消+T.自动断句+"I"))}async toggleAutoCard(e,t){const c=await this.booksInfo(e);typeof t=="boolean"?await this.updateBookInfo(e,{autoCard:t}):c.autoCard?(await this.updateBookInfo(e,{autoCard:!1}),await A.pushMsg(this.plugin.i18n.msgNotAutoCard)):(await this.updateBookInfo(e,{autoCard:!0}),await A.pushMsg(this.plugin.i18n.msgAutoCard))}async setAddingIndex2paragraph(e,t){await this.updateBookInfo(e,{addIndex2paragraph:t}),await A.pushMsg(`${T.给分片内段落标上序号}:${t}`)}async updateBookInfo(e,t){if((e==null?void 0:e.length)!==22)return;const c=await this.booksInfo(e);return typeof t.addIndex2paragraph=="boolean"&&(c.addIndex2paragraph=t.addIndex2paragraph),typeof t.autoCard=="boolean"&&(c.autoCard=t.autoCard),typeof t.ignored=="boolean"&&(c.ignored=t.ignored),typeof t.showLastBlock=="boolean"&&(c.showLastBlock=t.showLastBlock),typeof t.autoSplitSentenceP=="boolean"&&(c.autoSplitSentenceP=t.autoSplitSentenceP),typeof t.autoSplitSentenceT=="boolean"&&(c.autoSplitSentenceT=t.autoSplitSentenceT),typeof t.autoSplitSentenceI=="boolean"&&(c.autoSplitSentenceI=t.autoSplitSentenceI),q2(t.point)&&(c.point=t.point),c.time=await A.currentTimeMs(),this.booksInfos()[e]=c,this.saveBookInfos()}async booksInfo(e){if(!e)return{};let t=this.booksInfos()[e];if(t||(t={point:0,bookID:e,time:await A.currentTimeMs(),ignored:!1,showLastBlock:!1,autoCard:!1,autoSplitSentenceP:!1,autoSplitSentenceT:!1,autoSplitSentenceI:!1,addIndex2paragraph:!1},this.booksInfos()[e]=t),!t.boxID){const c=await A.sqlOne(`select box from blocks where id="${e}"`);c?t.boxID=c.box:(A.pushMsg(this.plugin.i18n.cannotFindTheBoxs+e),t.boxID=""),this.booksInfos()[e]=t}return t}booksInfos(){const e=this.plugin.data[H2];return(!e||typeof e=="string")&&(this.plugin.data[H2]={}),this.plugin.data[H2]}async gotoBlock(e,t){t>=0&&await this.updateBookInfo(e,{point:t})}async saveIndex(e,t){const[c,b]=Ef(t);await this.plugin.saveData(e,{data:b}),this.plugin.data[xt(e)]=c}async saveBookInfos(){return this.plugin.saveData(H2,this.booksInfos())}async removeIndex(e){return delete this.booksInfos()[e],delete this.booksInfos()[xt(e)],await this.saveBookInfos(),this.plugin.removeData(e)}async loadBookIndexIfNeeded(e){let t=this.plugin.data[xt(e)];return t||(t=If(await this.plugin.loadData(e)),this.plugin.data[xt(e)]=t),t}}function If(n){n=(n==null?void 0:n.data)??"";const e=[];for(const t of n.split("#")){const c=[];for(const b of t.split(","))c.push(b);e.push(c)}return e}function Ef(n){const e=[],t=[];for(const c of n){const b=[];for(const z of c)b.push(z.id);e.push(b.join(",")),t.push(b)}return[t,e.join("#")]}function xt(n){return n+"_cache"}const Kz="custom-prog-button",jo="custom-prog-button-noteID",Io="custom-prog-button-bookID",Eo="custom-prog-button-point";function Pf(n){n==null||n.querySelectorAll(`div[${Kz}]`).forEach(e=>{var t;e.addEventListener("click",Hf),e.style.backgroundColor="var(--b3-font-background11)",(t=ut(e))==null||t.setAttribute(I1,"false")})}function Df(n,e,t){return`{{{col
${t1(h0.splitByPunctuations,"✂📜",T.按标点断句,n,e,t,M0.settings.btnSplitByPunctuations)}
${t1(h0.splitByPunctuationsListCheck,"✂✅",T.按标点断句Checkbox,n,e,t,M0.settings.btnSplitByPunctuationsListCheck)}
@@ -263,7 +263,7 @@ ${t1(h0.nop,Z2,"",n,e,t,!1)}
${t1(h0.nop,Z2,"",n,e,t,!1)}
-}}}`.trim()}function Df(n,e,t){return`{{{col
+}}}`.trim()}function Ff(n,e,t){return`{{{col
${t1(h0.openFlashcardTab,"⚡",T.打开本书的闪卡,n,e,t,M0.settings.btnOpenFlashcardTab)}
${t1(h0.deleteAndBack,"⬅🗑",T.删除分片看上一个分片,n,e,t,M0.settings.btnDeleteBack)}
@@ -278,7 +278,7 @@ ${t1(h0.deleteAndExit,"🗑🕺",T.删除分片并退出,n,e,t,M0.settings.btnDe
${t1(h0.ignoreBook,"🚫",T.不再推送本书,n,e,t,M0.settings.btnIgnoreBook)}
-}}}`.trim()}function Ff(n,e,t){return`{{{col
+}}}`.trim()}function Uf(n,e,t){return`{{{col
${t1(h0.viewContents,"📜",T.打开目录,n,e,t,M0.settings.btnViewContents)}
${t1(h0.previous,"⬅",T.上一个分片,n,e,t,M0.settings.btnPrevious)}
@@ -294,31 +294,31 @@ ${t1(h0.quit,"🕺",T.关闭分片,n,e,t,M0.settings.btnStop)}
${t1(h0.nextBook,"📚📖",T.换一本书看,n,e,t,M0.settings.btnNextBook)}
}}}`.trim()}function t1(n,e,t,c,b,z,a){return a?`${e}
-{: ${Kz}="${n}" memo="${t}" ${Co}="${b}" ${jo}="${c}" ${Io}="${z}"}`:""}async function Uf(n){n.stopPropagation();const e=wc(n.target);if(!e)return;const t=Number(e.getAttribute(Kz)),c=e.getAttribute(jo);if(t!=h0.nop)if(t==h0.readThisBlock){const b=c;await M0.readThisPiece(b)}else{const b=e.getAttribute(Co),z=Number(e.getAttribute(Io));await M0.htmlBlockReadNextPeice(c,b,t,z)}}function Hf(n){const e=n>1?"|":"",t=" ".repeat(n-1),c=["","","","","","","","",""][n];return e+t+c}var Eo={};const $f="elliptic",Jf="6.6.0",Yf="EC cryptography",Kf="lib/elliptic.js",Gf=["lib"],Vf={lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},Qf={type:"git",url:"git@github.com:indutny/elliptic"},Zf=["EC","Elliptic","curve","Cryptography"],el="Fedor Indutny ",nl="MIT",tl={url:"https://github.com/indutny/elliptic/issues"},cl="https://github.com/indutny/elliptic",bl={brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},zl={"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},al={name:$f,version:Jf,description:Yf,main:Kf,files:Gf,scripts:Vf,repository:Qf,keywords:Zf,author:el,license:nl,bugs:tl,homepage:cl,devDependencies:bl,dependencies:zl};var be={},Gz={exports:{}};const rl={},Ml=Object.freeze(Object.defineProperty({__proto__:null,default:rl},Symbol.toStringTag,{value:"Module"})),Po=cM(Ml);Gz.exports;(function(n){(function(e,t){function c(q,M){if(!q)throw new Error(M||"Assertion failed")}function b(q,M){q.super_=M;var s=function(){};s.prototype=M.prototype,q.prototype=new s,q.prototype.constructor=q}function z(q,M,s){if(z.isBN(q))return q;this.negative=0,this.words=null,this.length=0,this.red=null,q!==null&&((M==="le"||M==="be")&&(s=M,M=10),this._init(q||0,M||10,s||"be"))}typeof e=="object"?e.exports=z:t.BN=z,z.BN=z,z.wordSize=26;var a;try{typeof window<"u"&&typeof window.Buffer<"u"?a=window.Buffer:a=Po.Buffer}catch{}z.isBN=function(M){return M instanceof z?!0:M!==null&&typeof M=="object"&&M.constructor.wordSize===z.wordSize&&Array.isArray(M.words)},z.max=function(M,s){return M.cmp(s)>0?M:s},z.min=function(M,s){return M.cmp(s)<0?M:s},z.prototype._init=function(M,s,d){if(typeof M=="number")return this._initNumber(M,s,d);if(typeof M=="object")return this._initArray(M,s,d);s==="hex"&&(s=16),c(s===(s|0)&&s>=2&&s<=36),M=M.toString().replace(/\s+/g,"");var f=0;M[0]==="-"&&(f++,this.negative=1),f=0;f-=3)L=M[f]|M[f-1]<<8|M[f-2]<<16,this.words[g]|=L<>>26-N&67108863,N+=24,N>=26&&(N-=26,g++);else if(d==="le")for(f=0,g=0;f>>26-N&67108863,N+=24,N>=26&&(N-=26,g++);return this.strip()};function r(q,M){var s=q.charCodeAt(M);return s>=65&&s<=70?s-55:s>=97&&s<=102?s-87:s-48&15}function o(q,M,s){var d=r(q,s);return s-1>=M&&(d|=r(q,s-1)<<4),d}z.prototype._parseHex=function(M,s,d){this.length=Math.ceil((M.length-s)/6),this.words=new Array(this.length);for(var f=0;f=s;f-=2)N=o(M,s,f)<=18?(g-=18,L+=1,this.words[L]|=N>>>26):g+=8;else{var h=M.length-s;for(f=h%2===0?s+1:s;f=18?(g-=18,L+=1,this.words[L]|=N>>>26):g+=8}this.strip()};function i(q,M,s,d){for(var f=0,g=Math.min(q.length,s),L=M;L=49?f+=N-49+10:N>=17?f+=N-17+10:f+=N}return f}z.prototype._parseBase=function(M,s,d){this.words=[0],this.length=1;for(var f=0,g=1;g<=67108863;g*=s)f++;f--,g=g/s|0;for(var L=M.length-d,N=L%f,h=Math.min(L,L-N)+d,p=0,m=d;m1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},z.prototype.inspect=function(){return(this.red?""};var O=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];z.prototype.toString=function(M,s){M=M||10,s=s|0||1;var d;if(M===16||M==="hex"){d="";for(var f=0,g=0,L=0;L>>24-f&16777215,g!==0||L!==this.length-1?d=O[6-h.length]+h+d:d=h+d,f+=2,f>=26&&(f-=26,L--)}for(g!==0&&(d=g.toString(16)+d);d.length%s!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}if(M===(M|0)&&M>=2&&M<=36){var p=u[M],m=l[M];d="";var J=this.clone();for(J.negative=0;!J.isZero();){var $=J.modn(m).toString(M);J=J.idivn(m),J.isZero()?d=$+d:d=O[p-$.length]+$+d}for(this.isZero()&&(d="0"+d);d.length%s!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}c(!1,"Base should be between 2 and 36")},z.prototype.toNumber=function(){var M=this.words[0];return this.length===2?M+=this.words[1]*67108864:this.length===3&&this.words[2]===1?M+=4503599627370496+this.words[1]*67108864:this.length>2&&c(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-M:M},z.prototype.toJSON=function(){return this.toString(16)},z.prototype.toBuffer=function(M,s){return c(typeof a<"u"),this.toArrayLike(a,M,s)},z.prototype.toArray=function(M,s){return this.toArrayLike(Array,M,s)},z.prototype.toArrayLike=function(M,s,d){var f=this.byteLength(),g=d||Math.max(1,f);c(f<=g,"byte array longer than desired length"),c(g>0,"Requested array length <= 0"),this.strip();var L=s==="le",N=new M(g),h,p,m=this.clone();if(L){for(p=0;!m.isZero();p++)h=m.andln(255),m.iushrn(8),N[p]=h;for(;p=4096&&(d+=13,s>>>=13),s>=64&&(d+=7,s>>>=7),s>=8&&(d+=4,s>>>=4),s>=2&&(d+=2,s>>>=2),d+s},z.prototype._zeroBits=function(M){if(M===0)return 26;var s=M,d=0;return s&8191||(d+=13,s>>>=13),s&127||(d+=7,s>>>=7),s&15||(d+=4,s>>>=4),s&3||(d+=2,s>>>=2),s&1||d++,d},z.prototype.bitLength=function(){var M=this.words[this.length-1],s=this._countBits(M);return(this.length-1)*26+s};function R(q){for(var M=new Array(q.bitLength()),s=0;s>>f}return M}z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var M=0,s=0;sM.length?this.clone().ior(M):M.clone().ior(this)},z.prototype.uor=function(M){return this.length>M.length?this.clone().iuor(M):M.clone().iuor(this)},z.prototype.iuand=function(M){var s;this.length>M.length?s=M:s=this;for(var d=0;dM.length?this.clone().iand(M):M.clone().iand(this)},z.prototype.uand=function(M){return this.length>M.length?this.clone().iuand(M):M.clone().iuand(this)},z.prototype.iuxor=function(M){var s,d;this.length>M.length?(s=this,d=M):(s=M,d=this);for(var f=0;fM.length?this.clone().ixor(M):M.clone().ixor(this)},z.prototype.uxor=function(M){return this.length>M.length?this.clone().iuxor(M):M.clone().iuxor(this)},z.prototype.inotn=function(M){c(typeof M=="number"&&M>=0);var s=Math.ceil(M/26)|0,d=M%26;this._expand(s),d>0&&s--;for(var f=0;f0&&(this.words[f]=~this.words[f]&67108863>>26-d),this.strip()},z.prototype.notn=function(M){return this.clone().inotn(M)},z.prototype.setn=function(M,s){c(typeof M=="number"&&M>=0);var d=M/26|0,f=M%26;return this._expand(d+1),s?this.words[d]=this.words[d]|1<M.length?(d=this,f=M):(d=M,f=this);for(var g=0,L=0;L>>26;for(;g!==0&&L>>26;if(this.length=d.length,g!==0)this.words[this.length]=g,this.length++;else if(d!==this)for(;LM.length?this.clone().iadd(M):M.clone().iadd(this)},z.prototype.isub=function(M){if(M.negative!==0){M.negative=0;var s=this.iadd(M);return M.negative=1,s._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(M),this.negative=1,this._normSign();var d=this.cmp(M);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var f,g;d>0?(f=this,g=M):(f=M,g=this);for(var L=0,N=0;N>26,this.words[N]=s&67108863;for(;L!==0&&N>26,this.words[N]=s&67108863;if(L===0&&N>>26,J=h&67108863,$=Math.min(p,M.length-1),V=Math.max(0,p-q.length+1);V<=$;V++){var z0=p-V|0;f=q.words[z0]|0,g=M.words[V]|0,L=f*g+J,m+=L/67108864|0,J=L&67108863}s.words[p]=J|0,h=m|0}return h!==0?s.words[p]=h|0:s.length--,s.strip()}var y=function(M,s,d){var f=M.words,g=s.words,L=d.words,N=0,h,p,m,J=f[0]|0,$=J&8191,V=J>>>13,z0=f[1]|0,a0=z0&8191,Q=z0>>>13,y0=f[2]|0,A0=y0&8191,l0=y0>>>13,W1=f[3]|0,b0=W1&8191,W=W1>>>13,B=f[4]|0,x=B&8191,D=B>>>13,c0=f[5]|0,r0=c0&8191,d0=c0>>>13,W0=f[6]|0,s0=W0&8191,C0=W0>>>13,m1=f[7]|0,F0=m1&8191,E0=m1>>>13,V1=f[8]|0,T0=V1&8191,P0=V1>>>13,Wt=f[9]|0,Y0=Wt&8191,K0=Wt>>>13,mt=g[0]|0,G0=mt&8191,V0=mt>>>13,Rt=g[1]|0,Q0=Rt&8191,Z0=Rt>>>13,_t=g[2]|0,e1=_t&8191,n1=_t>>>13,s2=g[3]|0,f0=s2&8191,a1=s2>>>13,Na=g[4]|0,r1=Na&8191,M1=Na>>>13,wa=g[5]|0,o1=wa&8191,p1=wa>>>13,Ba=g[6]|0,i1=Ba&8191,s1=Ba>>>13,va=g[7]|0,O1=va&8191,u1=va>>>13,xa=g[8]|0,d1=xa&8191,A1=xa>>>13,Sa=g[9]|0,f1=Sa&8191,l1=Sa>>>13;d.negative=M.negative^s.negative,d.length=19,h=Math.imul($,G0),p=Math.imul($,V0),p=p+Math.imul(V,G0)|0,m=Math.imul(V,V0);var Gc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Gc>>>26)|0,Gc&=67108863,h=Math.imul(a0,G0),p=Math.imul(a0,V0),p=p+Math.imul(Q,G0)|0,m=Math.imul(Q,V0),h=h+Math.imul($,Q0)|0,p=p+Math.imul($,Z0)|0,p=p+Math.imul(V,Q0)|0,m=m+Math.imul(V,Z0)|0;var Vc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Vc>>>26)|0,Vc&=67108863,h=Math.imul(A0,G0),p=Math.imul(A0,V0),p=p+Math.imul(l0,G0)|0,m=Math.imul(l0,V0),h=h+Math.imul(a0,Q0)|0,p=p+Math.imul(a0,Z0)|0,p=p+Math.imul(Q,Q0)|0,m=m+Math.imul(Q,Z0)|0,h=h+Math.imul($,e1)|0,p=p+Math.imul($,n1)|0,p=p+Math.imul(V,e1)|0,m=m+Math.imul(V,n1)|0;var Qc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Qc>>>26)|0,Qc&=67108863,h=Math.imul(b0,G0),p=Math.imul(b0,V0),p=p+Math.imul(W,G0)|0,m=Math.imul(W,V0),h=h+Math.imul(A0,Q0)|0,p=p+Math.imul(A0,Z0)|0,p=p+Math.imul(l0,Q0)|0,m=m+Math.imul(l0,Z0)|0,h=h+Math.imul(a0,e1)|0,p=p+Math.imul(a0,n1)|0,p=p+Math.imul(Q,e1)|0,m=m+Math.imul(Q,n1)|0,h=h+Math.imul($,f0)|0,p=p+Math.imul($,a1)|0,p=p+Math.imul(V,f0)|0,m=m+Math.imul(V,a1)|0;var Zc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Zc>>>26)|0,Zc&=67108863,h=Math.imul(x,G0),p=Math.imul(x,V0),p=p+Math.imul(D,G0)|0,m=Math.imul(D,V0),h=h+Math.imul(b0,Q0)|0,p=p+Math.imul(b0,Z0)|0,p=p+Math.imul(W,Q0)|0,m=m+Math.imul(W,Z0)|0,h=h+Math.imul(A0,e1)|0,p=p+Math.imul(A0,n1)|0,p=p+Math.imul(l0,e1)|0,m=m+Math.imul(l0,n1)|0,h=h+Math.imul(a0,f0)|0,p=p+Math.imul(a0,a1)|0,p=p+Math.imul(Q,f0)|0,m=m+Math.imul(Q,a1)|0,h=h+Math.imul($,r1)|0,p=p+Math.imul($,M1)|0,p=p+Math.imul(V,r1)|0,m=m+Math.imul(V,M1)|0;var eb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(eb>>>26)|0,eb&=67108863,h=Math.imul(r0,G0),p=Math.imul(r0,V0),p=p+Math.imul(d0,G0)|0,m=Math.imul(d0,V0),h=h+Math.imul(x,Q0)|0,p=p+Math.imul(x,Z0)|0,p=p+Math.imul(D,Q0)|0,m=m+Math.imul(D,Z0)|0,h=h+Math.imul(b0,e1)|0,p=p+Math.imul(b0,n1)|0,p=p+Math.imul(W,e1)|0,m=m+Math.imul(W,n1)|0,h=h+Math.imul(A0,f0)|0,p=p+Math.imul(A0,a1)|0,p=p+Math.imul(l0,f0)|0,m=m+Math.imul(l0,a1)|0,h=h+Math.imul(a0,r1)|0,p=p+Math.imul(a0,M1)|0,p=p+Math.imul(Q,r1)|0,m=m+Math.imul(Q,M1)|0,h=h+Math.imul($,o1)|0,p=p+Math.imul($,p1)|0,p=p+Math.imul(V,o1)|0,m=m+Math.imul(V,p1)|0;var nb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(nb>>>26)|0,nb&=67108863,h=Math.imul(s0,G0),p=Math.imul(s0,V0),p=p+Math.imul(C0,G0)|0,m=Math.imul(C0,V0),h=h+Math.imul(r0,Q0)|0,p=p+Math.imul(r0,Z0)|0,p=p+Math.imul(d0,Q0)|0,m=m+Math.imul(d0,Z0)|0,h=h+Math.imul(x,e1)|0,p=p+Math.imul(x,n1)|0,p=p+Math.imul(D,e1)|0,m=m+Math.imul(D,n1)|0,h=h+Math.imul(b0,f0)|0,p=p+Math.imul(b0,a1)|0,p=p+Math.imul(W,f0)|0,m=m+Math.imul(W,a1)|0,h=h+Math.imul(A0,r1)|0,p=p+Math.imul(A0,M1)|0,p=p+Math.imul(l0,r1)|0,m=m+Math.imul(l0,M1)|0,h=h+Math.imul(a0,o1)|0,p=p+Math.imul(a0,p1)|0,p=p+Math.imul(Q,o1)|0,m=m+Math.imul(Q,p1)|0,h=h+Math.imul($,i1)|0,p=p+Math.imul($,s1)|0,p=p+Math.imul(V,i1)|0,m=m+Math.imul(V,s1)|0;var tb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(tb>>>26)|0,tb&=67108863,h=Math.imul(F0,G0),p=Math.imul(F0,V0),p=p+Math.imul(E0,G0)|0,m=Math.imul(E0,V0),h=h+Math.imul(s0,Q0)|0,p=p+Math.imul(s0,Z0)|0,p=p+Math.imul(C0,Q0)|0,m=m+Math.imul(C0,Z0)|0,h=h+Math.imul(r0,e1)|0,p=p+Math.imul(r0,n1)|0,p=p+Math.imul(d0,e1)|0,m=m+Math.imul(d0,n1)|0,h=h+Math.imul(x,f0)|0,p=p+Math.imul(x,a1)|0,p=p+Math.imul(D,f0)|0,m=m+Math.imul(D,a1)|0,h=h+Math.imul(b0,r1)|0,p=p+Math.imul(b0,M1)|0,p=p+Math.imul(W,r1)|0,m=m+Math.imul(W,M1)|0,h=h+Math.imul(A0,o1)|0,p=p+Math.imul(A0,p1)|0,p=p+Math.imul(l0,o1)|0,m=m+Math.imul(l0,p1)|0,h=h+Math.imul(a0,i1)|0,p=p+Math.imul(a0,s1)|0,p=p+Math.imul(Q,i1)|0,m=m+Math.imul(Q,s1)|0,h=h+Math.imul($,O1)|0,p=p+Math.imul($,u1)|0,p=p+Math.imul(V,O1)|0,m=m+Math.imul(V,u1)|0;var cb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(cb>>>26)|0,cb&=67108863,h=Math.imul(T0,G0),p=Math.imul(T0,V0),p=p+Math.imul(P0,G0)|0,m=Math.imul(P0,V0),h=h+Math.imul(F0,Q0)|0,p=p+Math.imul(F0,Z0)|0,p=p+Math.imul(E0,Q0)|0,m=m+Math.imul(E0,Z0)|0,h=h+Math.imul(s0,e1)|0,p=p+Math.imul(s0,n1)|0,p=p+Math.imul(C0,e1)|0,m=m+Math.imul(C0,n1)|0,h=h+Math.imul(r0,f0)|0,p=p+Math.imul(r0,a1)|0,p=p+Math.imul(d0,f0)|0,m=m+Math.imul(d0,a1)|0,h=h+Math.imul(x,r1)|0,p=p+Math.imul(x,M1)|0,p=p+Math.imul(D,r1)|0,m=m+Math.imul(D,M1)|0,h=h+Math.imul(b0,o1)|0,p=p+Math.imul(b0,p1)|0,p=p+Math.imul(W,o1)|0,m=m+Math.imul(W,p1)|0,h=h+Math.imul(A0,i1)|0,p=p+Math.imul(A0,s1)|0,p=p+Math.imul(l0,i1)|0,m=m+Math.imul(l0,s1)|0,h=h+Math.imul(a0,O1)|0,p=p+Math.imul(a0,u1)|0,p=p+Math.imul(Q,O1)|0,m=m+Math.imul(Q,u1)|0,h=h+Math.imul($,d1)|0,p=p+Math.imul($,A1)|0,p=p+Math.imul(V,d1)|0,m=m+Math.imul(V,A1)|0;var bb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(bb>>>26)|0,bb&=67108863,h=Math.imul(Y0,G0),p=Math.imul(Y0,V0),p=p+Math.imul(K0,G0)|0,m=Math.imul(K0,V0),h=h+Math.imul(T0,Q0)|0,p=p+Math.imul(T0,Z0)|0,p=p+Math.imul(P0,Q0)|0,m=m+Math.imul(P0,Z0)|0,h=h+Math.imul(F0,e1)|0,p=p+Math.imul(F0,n1)|0,p=p+Math.imul(E0,e1)|0,m=m+Math.imul(E0,n1)|0,h=h+Math.imul(s0,f0)|0,p=p+Math.imul(s0,a1)|0,p=p+Math.imul(C0,f0)|0,m=m+Math.imul(C0,a1)|0,h=h+Math.imul(r0,r1)|0,p=p+Math.imul(r0,M1)|0,p=p+Math.imul(d0,r1)|0,m=m+Math.imul(d0,M1)|0,h=h+Math.imul(x,o1)|0,p=p+Math.imul(x,p1)|0,p=p+Math.imul(D,o1)|0,m=m+Math.imul(D,p1)|0,h=h+Math.imul(b0,i1)|0,p=p+Math.imul(b0,s1)|0,p=p+Math.imul(W,i1)|0,m=m+Math.imul(W,s1)|0,h=h+Math.imul(A0,O1)|0,p=p+Math.imul(A0,u1)|0,p=p+Math.imul(l0,O1)|0,m=m+Math.imul(l0,u1)|0,h=h+Math.imul(a0,d1)|0,p=p+Math.imul(a0,A1)|0,p=p+Math.imul(Q,d1)|0,m=m+Math.imul(Q,A1)|0,h=h+Math.imul($,f1)|0,p=p+Math.imul($,l1)|0,p=p+Math.imul(V,f1)|0,m=m+Math.imul(V,l1)|0;var zb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(zb>>>26)|0,zb&=67108863,h=Math.imul(Y0,Q0),p=Math.imul(Y0,Z0),p=p+Math.imul(K0,Q0)|0,m=Math.imul(K0,Z0),h=h+Math.imul(T0,e1)|0,p=p+Math.imul(T0,n1)|0,p=p+Math.imul(P0,e1)|0,m=m+Math.imul(P0,n1)|0,h=h+Math.imul(F0,f0)|0,p=p+Math.imul(F0,a1)|0,p=p+Math.imul(E0,f0)|0,m=m+Math.imul(E0,a1)|0,h=h+Math.imul(s0,r1)|0,p=p+Math.imul(s0,M1)|0,p=p+Math.imul(C0,r1)|0,m=m+Math.imul(C0,M1)|0,h=h+Math.imul(r0,o1)|0,p=p+Math.imul(r0,p1)|0,p=p+Math.imul(d0,o1)|0,m=m+Math.imul(d0,p1)|0,h=h+Math.imul(x,i1)|0,p=p+Math.imul(x,s1)|0,p=p+Math.imul(D,i1)|0,m=m+Math.imul(D,s1)|0,h=h+Math.imul(b0,O1)|0,p=p+Math.imul(b0,u1)|0,p=p+Math.imul(W,O1)|0,m=m+Math.imul(W,u1)|0,h=h+Math.imul(A0,d1)|0,p=p+Math.imul(A0,A1)|0,p=p+Math.imul(l0,d1)|0,m=m+Math.imul(l0,A1)|0,h=h+Math.imul(a0,f1)|0,p=p+Math.imul(a0,l1)|0,p=p+Math.imul(Q,f1)|0,m=m+Math.imul(Q,l1)|0;var ab=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(ab>>>26)|0,ab&=67108863,h=Math.imul(Y0,e1),p=Math.imul(Y0,n1),p=p+Math.imul(K0,e1)|0,m=Math.imul(K0,n1),h=h+Math.imul(T0,f0)|0,p=p+Math.imul(T0,a1)|0,p=p+Math.imul(P0,f0)|0,m=m+Math.imul(P0,a1)|0,h=h+Math.imul(F0,r1)|0,p=p+Math.imul(F0,M1)|0,p=p+Math.imul(E0,r1)|0,m=m+Math.imul(E0,M1)|0,h=h+Math.imul(s0,o1)|0,p=p+Math.imul(s0,p1)|0,p=p+Math.imul(C0,o1)|0,m=m+Math.imul(C0,p1)|0,h=h+Math.imul(r0,i1)|0,p=p+Math.imul(r0,s1)|0,p=p+Math.imul(d0,i1)|0,m=m+Math.imul(d0,s1)|0,h=h+Math.imul(x,O1)|0,p=p+Math.imul(x,u1)|0,p=p+Math.imul(D,O1)|0,m=m+Math.imul(D,u1)|0,h=h+Math.imul(b0,d1)|0,p=p+Math.imul(b0,A1)|0,p=p+Math.imul(W,d1)|0,m=m+Math.imul(W,A1)|0,h=h+Math.imul(A0,f1)|0,p=p+Math.imul(A0,l1)|0,p=p+Math.imul(l0,f1)|0,m=m+Math.imul(l0,l1)|0;var rb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(rb>>>26)|0,rb&=67108863,h=Math.imul(Y0,f0),p=Math.imul(Y0,a1),p=p+Math.imul(K0,f0)|0,m=Math.imul(K0,a1),h=h+Math.imul(T0,r1)|0,p=p+Math.imul(T0,M1)|0,p=p+Math.imul(P0,r1)|0,m=m+Math.imul(P0,M1)|0,h=h+Math.imul(F0,o1)|0,p=p+Math.imul(F0,p1)|0,p=p+Math.imul(E0,o1)|0,m=m+Math.imul(E0,p1)|0,h=h+Math.imul(s0,i1)|0,p=p+Math.imul(s0,s1)|0,p=p+Math.imul(C0,i1)|0,m=m+Math.imul(C0,s1)|0,h=h+Math.imul(r0,O1)|0,p=p+Math.imul(r0,u1)|0,p=p+Math.imul(d0,O1)|0,m=m+Math.imul(d0,u1)|0,h=h+Math.imul(x,d1)|0,p=p+Math.imul(x,A1)|0,p=p+Math.imul(D,d1)|0,m=m+Math.imul(D,A1)|0,h=h+Math.imul(b0,f1)|0,p=p+Math.imul(b0,l1)|0,p=p+Math.imul(W,f1)|0,m=m+Math.imul(W,l1)|0;var Mb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Mb>>>26)|0,Mb&=67108863,h=Math.imul(Y0,r1),p=Math.imul(Y0,M1),p=p+Math.imul(K0,r1)|0,m=Math.imul(K0,M1),h=h+Math.imul(T0,o1)|0,p=p+Math.imul(T0,p1)|0,p=p+Math.imul(P0,o1)|0,m=m+Math.imul(P0,p1)|0,h=h+Math.imul(F0,i1)|0,p=p+Math.imul(F0,s1)|0,p=p+Math.imul(E0,i1)|0,m=m+Math.imul(E0,s1)|0,h=h+Math.imul(s0,O1)|0,p=p+Math.imul(s0,u1)|0,p=p+Math.imul(C0,O1)|0,m=m+Math.imul(C0,u1)|0,h=h+Math.imul(r0,d1)|0,p=p+Math.imul(r0,A1)|0,p=p+Math.imul(d0,d1)|0,m=m+Math.imul(d0,A1)|0,h=h+Math.imul(x,f1)|0,p=p+Math.imul(x,l1)|0,p=p+Math.imul(D,f1)|0,m=m+Math.imul(D,l1)|0;var ob=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(ob>>>26)|0,ob&=67108863,h=Math.imul(Y0,o1),p=Math.imul(Y0,p1),p=p+Math.imul(K0,o1)|0,m=Math.imul(K0,p1),h=h+Math.imul(T0,i1)|0,p=p+Math.imul(T0,s1)|0,p=p+Math.imul(P0,i1)|0,m=m+Math.imul(P0,s1)|0,h=h+Math.imul(F0,O1)|0,p=p+Math.imul(F0,u1)|0,p=p+Math.imul(E0,O1)|0,m=m+Math.imul(E0,u1)|0,h=h+Math.imul(s0,d1)|0,p=p+Math.imul(s0,A1)|0,p=p+Math.imul(C0,d1)|0,m=m+Math.imul(C0,A1)|0,h=h+Math.imul(r0,f1)|0,p=p+Math.imul(r0,l1)|0,p=p+Math.imul(d0,f1)|0,m=m+Math.imul(d0,l1)|0;var pb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(pb>>>26)|0,pb&=67108863,h=Math.imul(Y0,i1),p=Math.imul(Y0,s1),p=p+Math.imul(K0,i1)|0,m=Math.imul(K0,s1),h=h+Math.imul(T0,O1)|0,p=p+Math.imul(T0,u1)|0,p=p+Math.imul(P0,O1)|0,m=m+Math.imul(P0,u1)|0,h=h+Math.imul(F0,d1)|0,p=p+Math.imul(F0,A1)|0,p=p+Math.imul(E0,d1)|0,m=m+Math.imul(E0,A1)|0,h=h+Math.imul(s0,f1)|0,p=p+Math.imul(s0,l1)|0,p=p+Math.imul(C0,f1)|0,m=m+Math.imul(C0,l1)|0;var ib=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(ib>>>26)|0,ib&=67108863,h=Math.imul(Y0,O1),p=Math.imul(Y0,u1),p=p+Math.imul(K0,O1)|0,m=Math.imul(K0,u1),h=h+Math.imul(T0,d1)|0,p=p+Math.imul(T0,A1)|0,p=p+Math.imul(P0,d1)|0,m=m+Math.imul(P0,A1)|0,h=h+Math.imul(F0,f1)|0,p=p+Math.imul(F0,l1)|0,p=p+Math.imul(E0,f1)|0,m=m+Math.imul(E0,l1)|0;var sb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(sb>>>26)|0,sb&=67108863,h=Math.imul(Y0,d1),p=Math.imul(Y0,A1),p=p+Math.imul(K0,d1)|0,m=Math.imul(K0,A1),h=h+Math.imul(T0,f1)|0,p=p+Math.imul(T0,l1)|0,p=p+Math.imul(P0,f1)|0,m=m+Math.imul(P0,l1)|0;var Ob=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Ob>>>26)|0,Ob&=67108863,h=Math.imul(Y0,f1),p=Math.imul(Y0,l1),p=p+Math.imul(K0,f1)|0,m=Math.imul(K0,l1);var ub=(N+h|0)+((p&8191)<<13)|0;return N=(m+(p>>>13)|0)+(ub>>>26)|0,ub&=67108863,L[0]=Gc,L[1]=Vc,L[2]=Qc,L[3]=Zc,L[4]=eb,L[5]=nb,L[6]=tb,L[7]=cb,L[8]=bb,L[9]=zb,L[10]=ab,L[11]=rb,L[12]=Mb,L[13]=ob,L[14]=pb,L[15]=ib,L[16]=sb,L[17]=Ob,L[18]=ub,N!==0&&(L[19]=N,d.length++),d};Math.imul||(y=_);function w(q,M,s){s.negative=M.negative^q.negative,s.length=q.length+M.length;for(var d=0,f=0,g=0;g>>26)|0,f+=L>>>26,L&=67108863}s.words[g]=N,d=L,L=f}return d!==0?s.words[g]=d:s.length--,s.strip()}function k(q,M,s){var d=new S;return d.mulp(q,M,s)}z.prototype.mulTo=function(M,s){var d,f=this.length+M.length;return this.length===10&&M.length===10?d=y(this,M,s):f<63?d=_(this,M,s):f<1024?d=w(this,M,s):d=k(this,M,s),d};function S(q,M){this.x=q,this.y=M}S.prototype.makeRBT=function(M){for(var s=new Array(M),d=z.prototype._countBits(M)-1,f=0;f>=1;return f},S.prototype.permute=function(M,s,d,f,g,L){for(var N=0;N>>1)g++;return 1<>>13,d[2*L+1]=g&8191,g=g>>>13;for(L=2*s;L>=26,s+=f/67108864|0,s+=g>>>26,this.words[d]=g&67108863}return s!==0&&(this.words[d]=s,this.length++),this},z.prototype.muln=function(M){return this.clone().imuln(M)},z.prototype.sqr=function(){return this.mul(this)},z.prototype.isqr=function(){return this.imul(this.clone())},z.prototype.pow=function(M){var s=R(M);if(s.length===0)return new z(1);for(var d=this,f=0;f=0);var s=M%26,d=(M-s)/26,f=67108863>>>26-s<<26-s,g;if(s!==0){var L=0;for(g=0;g>>26-s}L&&(this.words[g]=L,this.length++)}if(d!==0){for(g=this.length-1;g>=0;g--)this.words[g+d]=this.words[g];for(g=0;g=0);var f;s?f=(s-s%26)/26:f=0;var g=M%26,L=Math.min((M-g)/26,this.length),N=67108863^67108863>>>g<L)for(this.length-=L,p=0;p=0&&(m!==0||p>=f);p--){var J=this.words[p]|0;this.words[p]=m<<26-g|J>>>g,m=J&N}return h&&m!==0&&(h.words[h.length++]=m),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},z.prototype.ishrn=function(M,s,d){return c(this.negative===0),this.iushrn(M,s,d)},z.prototype.shln=function(M){return this.clone().ishln(M)},z.prototype.ushln=function(M){return this.clone().iushln(M)},z.prototype.shrn=function(M){return this.clone().ishrn(M)},z.prototype.ushrn=function(M){return this.clone().iushrn(M)},z.prototype.testn=function(M){c(typeof M=="number"&&M>=0);var s=M%26,d=(M-s)/26,f=1<=0);var s=M%26,d=(M-s)/26;if(c(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(s!==0&&d++,this.length=Math.min(d,this.length),s!==0){var f=67108863^67108863>>>s<=67108864;s++)this.words[s]-=67108864,s===this.length-1?this.words[s+1]=1:this.words[s+1]++;return this.length=Math.max(this.length,s+1),this},z.prototype.isubn=function(M){if(c(typeof M=="number"),c(M<67108864),M<0)return this.iaddn(-M);if(this.negative!==0)return this.negative=0,this.iaddn(M),this.negative=1,this;if(this.words[0]-=M,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var s=0;s>26)-(h/67108864|0),this.words[g+d]=L&67108863}for(;g>26,this.words[g+d]=L&67108863;if(N===0)return this.strip();for(c(N===-1),N=0,g=0;g>26,this.words[g]=L&67108863;return this.negative=1,this.strip()},z.prototype._wordDiv=function(M,s){var d=this.length-M.length,f=this.clone(),g=M,L=g.words[g.length-1]|0,N=this._countBits(L);d=26-N,d!==0&&(g=g.ushln(d),f.iushln(d),L=g.words[g.length-1]|0);var h=f.length-g.length,p;if(s!=="mod"){p=new z(null),p.length=h+1,p.words=new Array(p.length);for(var m=0;m=0;$--){var V=(f.words[g.length+$]|0)*67108864+(f.words[g.length+$-1]|0);for(V=Math.min(V/L|0,67108863),f._ishlnsubmul(g,V,$);f.negative!==0;)V--,f.negative=0,f._ishlnsubmul(g,1,$),f.isZero()||(f.negative^=1);p&&(p.words[$]=V)}return p&&p.strip(),f.strip(),s!=="div"&&d!==0&&f.iushrn(d),{div:p||null,mod:f}},z.prototype.divmod=function(M,s,d){if(c(!M.isZero()),this.isZero())return{div:new z(0),mod:new z(0)};var f,g,L;return this.negative!==0&&M.negative===0?(L=this.neg().divmod(M,s),s!=="mod"&&(f=L.div.neg()),s!=="div"&&(g=L.mod.neg(),d&&g.negative!==0&&g.iadd(M)),{div:f,mod:g}):this.negative===0&&M.negative!==0?(L=this.divmod(M.neg(),s),s!=="mod"&&(f=L.div.neg()),{div:f,mod:L.mod}):this.negative&M.negative?(L=this.neg().divmod(M.neg(),s),s!=="div"&&(g=L.mod.neg(),d&&g.negative!==0&&g.isub(M)),{div:L.div,mod:g}):M.length>this.length||this.cmp(M)<0?{div:new z(0),mod:this}:M.length===1?s==="div"?{div:this.divn(M.words[0]),mod:null}:s==="mod"?{div:null,mod:new z(this.modn(M.words[0]))}:{div:this.divn(M.words[0]),mod:new z(this.modn(M.words[0]))}:this._wordDiv(M,s)},z.prototype.div=function(M){return this.divmod(M,"div",!1).div},z.prototype.mod=function(M){return this.divmod(M,"mod",!1).mod},z.prototype.umod=function(M){return this.divmod(M,"mod",!0).mod},z.prototype.divRound=function(M){var s=this.divmod(M);if(s.mod.isZero())return s.div;var d=s.div.negative!==0?s.mod.isub(M):s.mod,f=M.ushrn(1),g=M.andln(1),L=d.cmp(f);return L<0||g===1&&L===0?s.div:s.div.negative!==0?s.div.isubn(1):s.div.iaddn(1)},z.prototype.modn=function(M){c(M<=67108863);for(var s=(1<<26)%M,d=0,f=this.length-1;f>=0;f--)d=(s*d+(this.words[f]|0))%M;return d},z.prototype.idivn=function(M){c(M<=67108863);for(var s=0,d=this.length-1;d>=0;d--){var f=(this.words[d]|0)+s*67108864;this.words[d]=f/M|0,s=f%M}return this.strip()},z.prototype.divn=function(M){return this.clone().idivn(M)},z.prototype.egcd=function(M){c(M.negative===0),c(!M.isZero());var s=this,d=M.clone();s.negative!==0?s=s.umod(M):s=s.clone();for(var f=new z(1),g=new z(0),L=new z(0),N=new z(1),h=0;s.isEven()&&d.isEven();)s.iushrn(1),d.iushrn(1),++h;for(var p=d.clone(),m=s.clone();!s.isZero();){for(var J=0,$=1;!(s.words[0]&$)&&J<26;++J,$<<=1);if(J>0)for(s.iushrn(J);J-- >0;)(f.isOdd()||g.isOdd())&&(f.iadd(p),g.isub(m)),f.iushrn(1),g.iushrn(1);for(var V=0,z0=1;!(d.words[0]&z0)&&V<26;++V,z0<<=1);if(V>0)for(d.iushrn(V);V-- >0;)(L.isOdd()||N.isOdd())&&(L.iadd(p),N.isub(m)),L.iushrn(1),N.iushrn(1);s.cmp(d)>=0?(s.isub(d),f.isub(L),g.isub(N)):(d.isub(s),L.isub(f),N.isub(g))}return{a:L,b:N,gcd:d.iushln(h)}},z.prototype._invmp=function(M){c(M.negative===0),c(!M.isZero());var s=this,d=M.clone();s.negative!==0?s=s.umod(M):s=s.clone();for(var f=new z(1),g=new z(0),L=d.clone();s.cmpn(1)>0&&d.cmpn(1)>0;){for(var N=0,h=1;!(s.words[0]&h)&&N<26;++N,h<<=1);if(N>0)for(s.iushrn(N);N-- >0;)f.isOdd()&&f.iadd(L),f.iushrn(1);for(var p=0,m=1;!(d.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(d.iushrn(p);p-- >0;)g.isOdd()&&g.iadd(L),g.iushrn(1);s.cmp(d)>=0?(s.isub(d),f.isub(g)):(d.isub(s),g.isub(f))}var J;return s.cmpn(1)===0?J=f:J=g,J.cmpn(0)<0&&J.iadd(M),J},z.prototype.gcd=function(M){if(this.isZero())return M.abs();if(M.isZero())return this.abs();var s=this.clone(),d=M.clone();s.negative=0,d.negative=0;for(var f=0;s.isEven()&&d.isEven();f++)s.iushrn(1),d.iushrn(1);do{for(;s.isEven();)s.iushrn(1);for(;d.isEven();)d.iushrn(1);var g=s.cmp(d);if(g<0){var L=s;s=d,d=L}else if(g===0||d.cmpn(1)===0)break;s.isub(d)}while(!0);return d.iushln(f)},z.prototype.invm=function(M){return this.egcd(M).a.umod(M)},z.prototype.isEven=function(){return(this.words[0]&1)===0},z.prototype.isOdd=function(){return(this.words[0]&1)===1},z.prototype.andln=function(M){return this.words[0]&M},z.prototype.bincn=function(M){c(typeof M=="number");var s=M%26,d=(M-s)/26,f=1<>>26,N&=67108863,this.words[L]=N}return g!==0&&(this.words[L]=g,this.length++),this},z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},z.prototype.cmpn=function(M){var s=M<0;if(this.negative!==0&&!s)return-1;if(this.negative===0&&s)return 1;this.strip();var d;if(this.length>1)d=1;else{s&&(M=-M),c(M<=67108863,"Number is too big");var f=this.words[0]|0;d=f===M?0:fM.length)return 1;if(this.length=0;d--){var f=this.words[d]|0,g=M.words[d]|0;if(f!==g){fg&&(s=1);break}}return s},z.prototype.gtn=function(M){return this.cmpn(M)===1},z.prototype.gt=function(M){return this.cmp(M)===1},z.prototype.gten=function(M){return this.cmpn(M)>=0},z.prototype.gte=function(M){return this.cmp(M)>=0},z.prototype.ltn=function(M){return this.cmpn(M)===-1},z.prototype.lt=function(M){return this.cmp(M)===-1},z.prototype.lten=function(M){return this.cmpn(M)<=0},z.prototype.lte=function(M){return this.cmp(M)<=0},z.prototype.eqn=function(M){return this.cmpn(M)===0},z.prototype.eq=function(M){return this.cmp(M)===0},z.red=function(M){return new e0(M)},z.prototype.toRed=function(M){return c(!this.red,"Already a number in reduction context"),c(this.negative===0,"red works only with positives"),M.convertTo(this)._forceRed(M)},z.prototype.fromRed=function(){return c(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},z.prototype._forceRed=function(M){return this.red=M,this},z.prototype.forceRed=function(M){return c(!this.red,"Already a number in reduction context"),this._forceRed(M)},z.prototype.redAdd=function(M){return c(this.red,"redAdd works only with red numbers"),this.red.add(this,M)},z.prototype.redIAdd=function(M){return c(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,M)},z.prototype.redSub=function(M){return c(this.red,"redSub works only with red numbers"),this.red.sub(this,M)},z.prototype.redISub=function(M){return c(this.red,"redISub works only with red numbers"),this.red.isub(this,M)},z.prototype.redShl=function(M){return c(this.red,"redShl works only with red numbers"),this.red.shl(this,M)},z.prototype.redMul=function(M){return c(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.mul(this,M)},z.prototype.redIMul=function(M){return c(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.imul(this,M)},z.prototype.redSqr=function(){return c(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},z.prototype.redISqr=function(){return c(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},z.prototype.redSqrt=function(){return c(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},z.prototype.redInvm=function(){return c(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},z.prototype.redNeg=function(){return c(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},z.prototype.redPow=function(M){return c(this.red&&!M.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,M)};var C={k256:null,p224:null,p192:null,p25519:null};function F(q,M){this.name=q,this.p=new z(M,16),this.n=this.p.bitLength(),this.k=new z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}F.prototype._tmp=function(){var M=new z(null);return M.words=new Array(Math.ceil(this.n/13)),M},F.prototype.ireduce=function(M){var s=M,d;do this.split(s,this.tmp),s=this.imulK(s),s=s.iadd(this.tmp),d=s.bitLength();while(d>this.n);var f=d0?s.isub(this.p):s.strip!==void 0?s.strip():s._strip(),s},F.prototype.split=function(M,s){M.iushrn(this.n,0,s)},F.prototype.imulK=function(M){return M.imul(this.k)};function G(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}b(G,F),G.prototype.split=function(M,s){for(var d=4194303,f=Math.min(M.length,9),g=0;g>>22,L=N}L>>>=22,M.words[g-10]=L,L===0&&M.length>10?M.length-=10:M.length-=9},G.prototype.imulK=function(M){M.words[M.length]=0,M.words[M.length+1]=0,M.length+=2;for(var s=0,d=0;d>>=26,M.words[d]=g,s=f}return s!==0&&(M.words[M.length++]=s),M},z._prime=function(M){if(C[M])return C[M];var s;if(M==="k256")s=new G;else if(M==="p224")s=new Y;else if(M==="p192")s=new K;else if(M==="p25519")s=new p0;else throw new Error("Unknown prime "+M);return C[M]=s,s};function e0(q){if(typeof q=="string"){var M=z._prime(q);this.m=M.p,this.prime=M}else c(q.gtn(1),"modulus must be greater than 1"),this.m=q,this.prime=null}e0.prototype._verify1=function(M){c(M.negative===0,"red works only with positives"),c(M.red,"red works only with red numbers")},e0.prototype._verify2=function(M,s){c((M.negative|s.negative)===0,"red works only with positives"),c(M.red&&M.red===s.red,"red works only with red numbers")},e0.prototype.imod=function(M){return this.prime?this.prime.ireduce(M)._forceRed(this):M.umod(this.m)._forceRed(this)},e0.prototype.neg=function(M){return M.isZero()?M.clone():this.m.sub(M)._forceRed(this)},e0.prototype.add=function(M,s){this._verify2(M,s);var d=M.add(s);return d.cmp(this.m)>=0&&d.isub(this.m),d._forceRed(this)},e0.prototype.iadd=function(M,s){this._verify2(M,s);var d=M.iadd(s);return d.cmp(this.m)>=0&&d.isub(this.m),d},e0.prototype.sub=function(M,s){this._verify2(M,s);var d=M.sub(s);return d.cmpn(0)<0&&d.iadd(this.m),d._forceRed(this)},e0.prototype.isub=function(M,s){this._verify2(M,s);var d=M.isub(s);return d.cmpn(0)<0&&d.iadd(this.m),d},e0.prototype.shl=function(M,s){return this._verify1(M),this.imod(M.ushln(s))},e0.prototype.imul=function(M,s){return this._verify2(M,s),this.imod(M.imul(s))},e0.prototype.mul=function(M,s){return this._verify2(M,s),this.imod(M.mul(s))},e0.prototype.isqr=function(M){return this.imul(M,M.clone())},e0.prototype.sqr=function(M){return this.mul(M,M)},e0.prototype.sqrt=function(M){if(M.isZero())return M.clone();var s=this.m.andln(3);if(c(s%2===1),s===3){var d=this.m.add(new z(1)).iushrn(2);return this.pow(M,d)}for(var f=this.m.subn(1),g=0;!f.isZero()&&f.andln(1)===0;)g++,f.iushrn(1);c(!f.isZero());var L=new z(1).toRed(this),N=L.redNeg(),h=this.m.subn(1).iushrn(1),p=this.m.bitLength();for(p=new z(2*p*p).toRed(this);this.pow(p,h).cmp(N)!==0;)p.redIAdd(N);for(var m=this.pow(p,f),J=this.pow(M,f.addn(1).iushrn(1)),$=this.pow(M,f),V=g;$.cmp(L)!==0;){for(var z0=$,a0=0;z0.cmp(L)!==0;a0++)z0=z0.redSqr();c(a0=0;g--){for(var m=s.words[g],J=p-1;J>=0;J--){var $=m>>J&1;if(L!==f[0]&&(L=this.sqr(L)),$===0&&N===0){h=0;continue}N<<=1,N|=$,h++,!(h!==d&&(g!==0||J!==0))&&(L=this.mul(L,f[N]),h=0,N=0)}p=26}return L},e0.prototype.convertTo=function(M){var s=M.umod(this.m);return s===M?s.clone():s},e0.prototype.convertFrom=function(M){var s=M.clone();return s.red=null,s},z.mont=function(M){return new E(M)};function E(q){e0.call(this,q),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new z(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b(E,e0),E.prototype.convertTo=function(M){return this.imod(M.ushln(this.shift))},E.prototype.convertFrom=function(M){var s=this.imod(M.mul(this.rinv));return s.red=null,s},E.prototype.imul=function(M,s){if(M.isZero()||s.isZero())return M.words[0]=0,M.length=1,M;var d=M.imul(s),f=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=d.isub(f).iushrn(this.shift),L=g;return g.cmp(this.m)>=0?L=g.isub(this.m):g.cmpn(0)<0&&(L=g.iadd(this.m)),L._forceRed(this)},E.prototype.mul=function(M,s){if(M.isZero()||s.isZero())return new z(0)._forceRed(this);var d=M.mul(s),f=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=d.isub(f).iushrn(this.shift),L=g;return g.cmp(this.m)>=0?L=g.isub(this.m):g.cmpn(0)<0&&(L=g.iadd(this.m)),L._forceRed(this)},E.prototype.invm=function(M){var s=this.imod(M._invmp(this.m).mul(this.r2));return s._forceRed(this)}})(n,tM)})(Gz);var i2=Gz.exports,I2=Do;function Do(n,e){if(!n)throw new Error(e||"Assertion failed")}Do.equal=function(e,t,c){if(e!=t)throw new Error(c||"Assertion failed: "+e+" != "+t)};var Vz={};(function(n){var e=n;function t(z,a){if(Array.isArray(z))return z.slice();if(!z)return[];var r=[];if(typeof z!="string"){for(var o=0;o>8,u=i&255;O?r.push(O,u):r.push(u)}return r}e.toArray=t;function c(z){return z.length===1?"0"+z:z}e.zero2=c;function b(z){for(var a="",r=0;r(y>>1)-1?k=(y>>1)-S:k=S,w.isubn(k)):k=0,R[_]=k,w.iushrn(1)}return R}e.getNAF=z;function a(O,u){var l=[[],[]];O=O.clone(),u=u.clone();for(var R=0,_=0,y;O.cmpn(-R)>0||u.cmpn(-_)>0;){var w=O.andln(3)+R&3,k=u.andln(3)+_&3;w===3&&(w=-1),k===3&&(k=-1);var S;w&1?(y=O.andln(7)+R&7,(y===3||y===5)&&k===2?S=-w:S=w):S=0,l[0].push(S);var C;k&1?(y=u.andln(7)+_&7,(y===3||y===5)&&w===2?C=-k:C=k):C=0,l[1].push(C),2*R===S+1&&(R=1-R),2*_===C+1&&(_=1-_),O.iushrn(1),u.iushrn(1)}return l}e.getJSF=a;function r(O,u,l){var R="_"+u;O.prototype[u]=function(){return this[R]!==void 0?this[R]:this[R]=l.call(this)}}e.cachedProperty=r;function o(O){return typeof O=="string"?e.toArray(O,"hex"):O}e.parseBytes=o;function i(O){return new t(O,"hex","le")}e.intFromLE=i})(be);var Qz={exports:{}},_b;Qz.exports=function(e){return _b||(_b=new f2(null)),_b.generate(e)};function f2(n){this.rand=n}Qz.exports.Rand=f2;f2.prototype.generate=function(e){return this._rand(e)};f2.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),c=0;c0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Tc=m2;m2.prototype.point=function(){throw new Error("Not implemented")};m2.prototype.validate=function(){throw new Error("Not implemented")};m2.prototype._fixedNafMul=function(e,t){ic(e.precomputed);var c=e._getDoubles(),b=pc(t,1,this._bitLength),z=(1<=r;i--)o=(o<<1)+b[i];a.push(o)}for(var O=this.jpoint(null,null,null),u=this.jpoint(null,null,null),l=z;l>0;l--){for(r=0;r=0;o--){for(var i=0;o>=0&&a[o]===0;o--)i++;if(o>=0&&i++,r=r.dblp(i),o<0)break;var O=a[o];ic(O!==0),e.type==="affine"?O>0?r=r.mixedAdd(z[O-1>>1]):r=r.mixedAdd(z[-O-1>>1].neg()):O>0?r=r.add(z[O-1>>1]):r=r.add(z[-O-1>>1].neg())}return e.type==="affine"?r.toP():r};m2.prototype._wnafMulAdd=function(e,t,c,b,z){var a=this._wnafT1,r=this._wnafT2,o=this._wnafT3,i=0,O,u,l;for(O=0;O=1;O-=2){var _=O-1,y=O;if(a[_]!==1||a[y]!==1){o[_]=pc(c[_],a[_],this._bitLength),o[y]=pc(c[y],a[y],this._bitLength),i=Math.max(o[_].length,i),i=Math.max(o[y].length,i);continue}var w=[t[_],null,null,t[y]];t[_].y.cmp(t[y].y)===0?(w[1]=t[_].add(t[y]),w[2]=t[_].toJ().mixedAdd(t[y].neg())):t[_].y.cmp(t[y].y.redNeg())===0?(w[1]=t[_].toJ().mixedAdd(t[y]),w[2]=t[_].add(t[y].neg())):(w[1]=t[_].toJ().mixedAdd(t[y]),w[2]=t[_].toJ().mixedAdd(t[y].neg()));var k=[-3,-1,-5,-7,0,7,5,1,3],S=ol(c[_],c[y]);for(i=Math.max(S[0].length,i),o[_]=new Array(i),o[y]=new Array(i),u=0;u=0;O--){for(var K=0;O>=0;){var p0=!0;for(u=0;u=0&&K++,G=G.dblp(K),O<0)break;for(u=0;u0?l=r[u][e0-1>>1]:e0<0&&(l=r[u][-e0-1>>1].neg()),l.type==="affine"?G=G.mixedAdd(l):G=G.add(l))}}for(O=0;O=Math.ceil((e.bitLength()+1)/t.step):!1};ie.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var c=[this],b=this,z=0;z=0&&(R=i,_=O),u.negative&&(u=u.neg(),l=l.neg()),R.negative&&(R=R.neg(),_=_.neg()),[{a:u,b:l},{a:R,b:_}]};se.prototype._endoSplit=function(e){var t=this.endo.basis,c=t[0],b=t[1],z=b.b.mul(e).divRound(this.n),a=c.b.neg().mul(e).divRound(this.n),r=z.mul(c.a),o=a.mul(b.a),i=z.mul(c.b),O=a.mul(b.b),u=e.sub(r).sub(o),l=i.add(O).neg();return{k1:u,k2:l}};se.prototype.pointFromX=function(e,t){e=new b1(e,16),e.red||(e=e.toRed(this.red));var c=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),b=c.redSqrt();if(b.redSqr().redSub(c).cmp(this.zero)!==0)throw new Error("invalid point");var z=b.fromRed().isOdd();return(t&&!z||!t&&z)&&(b=b.redNeg()),this.point(e,b)};se.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,c=e.y,b=this.a.redMul(t),z=t.redSqr().redMul(t).redIAdd(b).redIAdd(this.b);return c.redSqr().redISub(z).cmpn(0)===0};se.prototype._endoWnafMulAdd=function(e,t,c){for(var b=this._endoWnafT1,z=this._endoWnafT2,a=0;a":""};v1.prototype.isInfinity=function(){return this.inf};v1.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var c=t.redSqr().redISub(this.x).redISub(e.x),b=t.redMul(this.x.redSub(c)).redISub(this.y);return this.curve.point(c,b)};v1.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,c=this.x.redSqr(),b=e.redInvm(),z=c.redAdd(c).redIAdd(c).redIAdd(t).redMul(b),a=z.redSqr().redISub(this.x.redAdd(this.x)),r=z.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,r)};v1.prototype.getX=function(){return this.x.fromRed()};v1.prototype.getY=function(){return this.y.fromRed()};v1.prototype.mul=function(e){return e=new b1(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)};v1.prototype.mulAdd=function(e,t,c){var b=[this,t],z=[e,c];return this.curve.endo?this.curve._endoWnafMulAdd(b,z):this.curve._wnafMulAdd(1,b,z,2)};v1.prototype.jmulAdd=function(e,t,c){var b=[this,t],z=[e,c];return this.curve.endo?this.curve._endoWnafMulAdd(b,z,!0):this.curve._wnafMulAdd(1,b,z,2,!0)};v1.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};v1.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var c=this.precomputed,b=function(z){return z.neg()};t.precomputed={naf:c.naf&&{wnd:c.naf.wnd,points:c.naf.points.map(b)},doubles:c.doubles&&{step:c.doubles.step,points:c.doubles.points.map(b)}}}return t};v1.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function C1(n,e,t,c){Rn.BasePoint.call(this,n,"jacobian"),e===null&&t===null&&c===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new b1(0)):(this.x=new b1(e,16),this.y=new b1(t,16),this.z=new b1(c,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}ea(C1,Rn.BasePoint);se.prototype.jpoint=function(e,t,c){return new C1(this,e,t,c)};C1.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),c=this.x.redMul(t),b=this.y.redMul(t).redMul(e);return this.curve.point(c,b)};C1.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};C1.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),c=this.z.redSqr(),b=this.x.redMul(t),z=e.x.redMul(c),a=this.y.redMul(t.redMul(e.z)),r=e.y.redMul(c.redMul(this.z)),o=b.redSub(z),i=a.redSub(r);if(o.cmpn(0)===0)return i.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var O=o.redSqr(),u=O.redMul(o),l=b.redMul(O),R=i.redSqr().redIAdd(u).redISub(l).redISub(l),_=i.redMul(l.redISub(R)).redISub(a.redMul(u)),y=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(R,_,y)};C1.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),c=this.x,b=e.x.redMul(t),z=this.y,a=e.y.redMul(t).redMul(this.z),r=c.redSub(b),o=z.redSub(a);if(r.cmpn(0)===0)return o.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var i=r.redSqr(),O=i.redMul(r),u=c.redMul(i),l=o.redSqr().redIAdd(O).redISub(u).redISub(u),R=o.redMul(u.redISub(l)).redISub(z.redMul(O)),_=this.z.redMul(r);return this.curve.jpoint(l,R,_)};C1.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var c=this;for(t=0;t=0)return!1;if(c.redIAdd(z),this.x.cmp(c)===0)return!0}};C1.prototype.inspect=function(){return this.isInfinity()?"":""};C1.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var cn=i2,Uo=Xc,kc=Tc,Ol=be;function _n(n){kc.call(this,"mont",n),this.a=new cn(n.a,16).toRed(this.red),this.b=new cn(n.b,16).toRed(this.red),this.i4=new cn(4).toRed(this.red).redInvm(),this.two=new cn(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Uo(_n,kc);var ul=_n;_n.prototype.validate=function(e){var t=e.normalize().x,c=t.redSqr(),b=c.redMul(t).redAdd(c.redMul(this.a)).redAdd(t),z=b.redSqrt();return z.redSqr().cmp(b)===0};function B1(n,e,t){kc.BasePoint.call(this,n,"projective"),e===null&&t===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new cn(e,16),this.z=new cn(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Uo(B1,kc.BasePoint);_n.prototype.decodePoint=function(e,t){return this.point(Ol.toArray(e,t),1)};_n.prototype.point=function(e,t){return new B1(this,e,t)};_n.prototype.pointFromJSON=function(e){return B1.fromJSON(this,e)};B1.prototype.precompute=function(){};B1.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())};B1.fromJSON=function(e,t){return new B1(e,t[0],t[1]||e.one)};B1.prototype.inspect=function(){return this.isInfinity()?"":""};B1.prototype.isInfinity=function(){return this.z.cmpn(0)===0};B1.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),c=this.x.redSub(this.z),b=c.redSqr(),z=t.redSub(b),a=t.redMul(b),r=z.redMul(b.redAdd(this.curve.a24.redMul(z)));return this.curve.point(a,r)};B1.prototype.add=function(){throw new Error("Not supported on Montgomery curve")};B1.prototype.diffAdd=function(e,t){var c=this.x.redAdd(this.z),b=this.x.redSub(this.z),z=e.x.redAdd(e.z),a=e.x.redSub(e.z),r=a.redMul(c),o=z.redMul(b),i=t.z.redMul(r.redAdd(o).redSqr()),O=t.x.redMul(r.redISub(o).redSqr());return this.curve.point(i,O)};B1.prototype.mul=function(e){for(var t=e.clone(),c=this,b=this.curve.point(null,null),z=this,a=[];t.cmpn(0)!==0;t.iushrn(1))a.push(t.andln(1));for(var r=a.length-1;r>=0;r--)a[r]===0?(c=c.diffAdd(b,z),b=b.dbl()):(b=c.diffAdd(b,z),c=c.dbl());return b};B1.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")};B1.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")};B1.prototype.eq=function(e){return this.getX().cmp(e.getX())===0};B1.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};B1.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var dl=be,Ze=i2,Ho=Xc,Cc=Tc,Al=dl.assert;function Fe(n){this.twisted=(n.a|0)!==1,this.mOneA=this.twisted&&(n.a|0)===-1,this.extended=this.mOneA,Cc.call(this,"edwards",n),this.a=new Ze(n.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Ze(n.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Ze(n.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Al(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(n.c|0)===1}Ho(Fe,Cc);var fl=Fe;Fe.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)};Fe.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)};Fe.prototype.jpoint=function(e,t,c,b){return this.point(e,t,c,b)};Fe.prototype.pointFromX=function(e,t){e=new Ze(e,16),e.red||(e=e.toRed(this.red));var c=e.redSqr(),b=this.c2.redSub(this.a.redMul(c)),z=this.one.redSub(this.c2.redMul(this.d).redMul(c)),a=b.redMul(z.redInvm()),r=a.redSqrt();if(r.redSqr().redSub(a).cmp(this.zero)!==0)throw new Error("invalid point");var o=r.fromRed().isOdd();return(t&&!o||!t&&o)&&(r=r.redNeg()),this.point(e,r)};Fe.prototype.pointFromY=function(e,t){e=new Ze(e,16),e.red||(e=e.toRed(this.red));var c=e.redSqr(),b=c.redSub(this.c2),z=c.redMul(this.d).redMul(this.c2).redSub(this.a),a=b.redMul(z.redInvm());if(a.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var r=a.redSqrt();if(r.redSqr().redSub(a).cmp(this.zero)!==0)throw new Error("invalid point");return r.fromRed().isOdd()!==t&&(r=r.redNeg()),this.point(r,e)};Fe.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),c=e.y.redSqr(),b=t.redMul(this.a).redAdd(c),z=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(c)));return b.cmp(z)===0};function D0(n,e,t,c,b){Cc.BasePoint.call(this,n,"projective"),e===null&&t===null&&c===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Ze(e,16),this.y=new Ze(t,16),this.z=c?new Ze(c,16):this.curve.one,this.t=b&&new Ze(b,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}Ho(D0,Cc.BasePoint);Fe.prototype.pointFromJSON=function(e){return D0.fromJSON(this,e)};Fe.prototype.point=function(e,t,c,b){return new D0(this,e,t,c,b)};D0.fromJSON=function(e,t){return new D0(e,t[0],t[1],t[2])};D0.prototype.inspect=function(){return this.isInfinity()?"":""};D0.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};D0.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var b=this.curve._mulA(e),z=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=b.redAdd(t),r=a.redSub(c),o=b.redSub(t),i=z.redMul(r),O=a.redMul(o),u=z.redMul(o),l=r.redMul(a);return this.curve.point(i,O,l,u)};D0.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),c=this.y.redSqr(),b,z,a,r,o,i;if(this.curve.twisted){r=this.curve._mulA(t);var O=r.redAdd(c);this.zOne?(b=e.redSub(t).redSub(c).redMul(O.redSub(this.curve.two)),z=O.redMul(r.redSub(c)),a=O.redSqr().redSub(O).redSub(O)):(o=this.z.redSqr(),i=O.redSub(o).redISub(o),b=e.redSub(t).redISub(c).redMul(i),z=O.redMul(r.redSub(c)),a=O.redMul(i))}else r=t.redAdd(c),o=this.curve._mulC(this.z).redSqr(),i=r.redSub(o).redSub(o),b=this.curve._mulC(e.redISub(r)).redMul(i),z=this.curve._mulC(r).redMul(t.redISub(c)),a=r.redMul(i);return this.curve.point(b,z,a)};D0.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()};D0.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),c=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),b=this.t.redMul(this.curve.dd).redMul(e.t),z=this.z.redMul(e.z.redAdd(e.z)),a=c.redSub(t),r=z.redSub(b),o=z.redAdd(b),i=c.redAdd(t),O=a.redMul(r),u=o.redMul(i),l=a.redMul(i),R=r.redMul(o);return this.curve.point(O,u,R,l)};D0.prototype._projAdd=function(e){var t=this.z.redMul(e.z),c=t.redSqr(),b=this.x.redMul(e.x),z=this.y.redMul(e.y),a=this.curve.d.redMul(b).redMul(z),r=c.redSub(a),o=c.redAdd(a),i=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(b).redISub(z),O=t.redMul(r).redMul(i),u,l;return this.curve.twisted?(u=t.redMul(o).redMul(z.redSub(this.curve._mulA(b))),l=r.redMul(o)):(u=t.redMul(o).redMul(z.redSub(b)),l=this.curve._mulC(r).redMul(o)),this.curve.point(O,u,l)};D0.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)};D0.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)};D0.prototype.mulAdd=function(e,t,c){return this.curve._wnafMulAdd(1,[this,t],[e,c],2,!1)};D0.prototype.jmulAdd=function(e,t,c){return this.curve._wnafMulAdd(1,[this,t],[e,c],2,!0)};D0.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this};D0.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};D0.prototype.getX=function(){return this.normalize(),this.x.fromRed()};D0.prototype.getY=function(){return this.normalize(),this.y.fromRed()};D0.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0};D0.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var c=e.clone(),b=this.curve.redN.redMul(this.z);;){if(c.iadd(this.curve.n),c.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(b),this.x.cmp(t)===0)return!0}};D0.prototype.toP=D0.prototype.normalize;D0.prototype.mixedAdd=D0.prototype.add;(function(n){var e=n;e.base=Tc,e.short=sl,e.mont=ul,e.edwards=fl})(Zz);var jc={},Ic={},_0={},ll=I2,hl=Xc;_0.inherits=hl;function ql(n,e){return(n.charCodeAt(e)&64512)!==55296||e<0||e+1>=n.length?!1:(n.charCodeAt(e+1)&64512)===56320}function gl(n,e){if(Array.isArray(n))return n.slice();if(!n)return[];var t=[];if(typeof n=="string")if(e){if(e==="hex")for(n=n.replace(/[^a-z0-9]+/ig,""),n.length%2!==0&&(n="0"+n),b=0;b>6|192,t[c++]=z&63|128):ql(n,b)?(z=65536+((z&1023)<<10)+(n.charCodeAt(++b)&1023),t[c++]=z>>18|240,t[c++]=z>>12&63|128,t[c++]=z>>6&63|128,t[c++]=z&63|128):(t[c++]=z>>12|224,t[c++]=z>>6&63|128,t[c++]=z&63|128)}else for(b=0;b>>24|n>>>8&65280|n<<8&16711680|(n&255)<<24;return e>>>0}_0.htonl=$o;function ml(n,e){for(var t="",c=0;c>>0}return z}_0.join32=Rl;function _l(n,e){for(var t=new Array(n.length*4),c=0,b=0;c>>24,t[b+1]=z>>>16&255,t[b+2]=z>>>8&255,t[b+3]=z&255):(t[b+3]=z>>>24,t[b+2]=z>>>16&255,t[b+1]=z>>>8&255,t[b]=z&255)}return t}_0.split32=_l;function yl(n,e){return n>>>e|n<<32-e}_0.rotr32=yl;function Ll(n,e){return n<>>32-e}_0.rotl32=Ll;function Nl(n,e){return n+e>>>0}_0.sum32=Nl;function wl(n,e,t){return n+e+t>>>0}_0.sum32_3=wl;function Bl(n,e,t,c){return n+e+t+c>>>0}_0.sum32_4=Bl;function vl(n,e,t,c,b){return n+e+t+c+b>>>0}_0.sum32_5=vl;function xl(n,e,t,c){var b=n[e],z=n[e+1],a=c+z>>>0,r=(a>>0,n[e+1]=a}_0.sum64=xl;function Sl(n,e,t,c){var b=e+c>>>0,z=(b>>0}_0.sum64_hi=Sl;function Tl(n,e,t,c){var b=e+c;return b>>>0}_0.sum64_lo=Tl;function Xl(n,e,t,c,b,z,a,r){var o=0,i=e;i=i+c>>>0,o+=i>>0,o+=i>>0,o+=i>>0}_0.sum64_4_hi=Xl;function kl(n,e,t,c,b,z,a,r){var o=e+c+z+r;return o>>>0}_0.sum64_4_lo=kl;function Cl(n,e,t,c,b,z,a,r,o,i){var O=0,u=e;u=u+c>>>0,O+=u>>0,O+=u>>0,O+=u>>0,O+=u>>0}_0.sum64_5_hi=Cl;function jl(n,e,t,c,b,z,a,r,o,i){var O=e+c+z+r+i;return O>>>0}_0.sum64_5_lo=jl;function Il(n,e,t){var c=e<<32-t|n>>>t;return c>>>0}_0.rotr64_hi=Il;function El(n,e,t){var c=n<<32-t|e>>>t;return c>>>0}_0.rotr64_lo=El;function Pl(n,e,t){return n>>>t}_0.shr64_hi=Pl;function Dl(n,e,t){var c=n<<32-t|e>>>t;return c>>>0}_0.shr64_lo=Dl;var yn={},hr=_0,Fl=I2;function Ec(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}yn.BlockHash=Ec;Ec.prototype.update=function(e,t){if(e=hr.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var c=e.length%this._delta8;this.pending=e.slice(e.length-c,e.length),this.pending.length===0&&(this.pending=null),e=hr.join32(e,0,e.length-c,this.endian);for(var b=0;b>>24&255,b[z++]=e>>>16&255,b[z++]=e>>>8&255,b[z++]=e&255}else for(b[z++]=e&255,b[z++]=e>>>8&255,b[z++]=e>>>16&255,b[z++]=e>>>24&255,b[z++]=0,b[z++]=0,b[z++]=0,b[z++]=0,a=8;a>>3}Ue.g0_256=Yl;function Kl(n){return Se(n,17)^Se(n,19)^n>>>10}Ue.g1_256=Kl;var un=_0,Gl=yn,Vl=Ue,yb=un.rotl32,Xn=un.sum32,Ql=un.sum32_5,Zl=Vl.ft_1,Qo=Gl.BlockHash,e4=[1518500249,1859775393,2400959708,3395469782];function Ce(){if(!(this instanceof Ce))return new Ce;Qo.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}un.inherits(Ce,Qo);var n4=Ce;Ce.blockSize=512;Ce.outSize=160;Ce.hmacStrength=80;Ce.padLength=64;Ce.prototype._update=function(e,t){for(var c=this.W,b=0;b<16;b++)c[b]=e[t+b];for(;bthis.blockSize&&(e=new this.Hash().update(e).digest()),D4(e.length<=this.blockSize);for(var t=e.length;t=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,c)}var $4=W2;W2.prototype._init=function(e,t,c){var b=e.concat(t).concat(c);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var z=0;z=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(c||[])),this._reseed=1};W2.prototype.generate=function(e,t,c,b){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof t!="string"&&(b=c,c=t,t=null),c&&(c=S2.toArray(c,b||"hex"),this._update(c));for(var z=[];z.length"};var sc=i2,na=be,G4=na.assert;function Pc(n,e){if(n instanceof Pc)return n;this._importDER(n,e)||(G4(n.r&&n.s,"Signature without r or s"),this.r=new sc(n.r,16),this.s=new sc(n.s,16),n.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=n.recoveryParam)}var V4=Pc;function Q4(){this.place=0}function Bb(n,e){var t=n[e.place++];if(!(t&128))return t;var c=t&15;if(c===0||c>4||n[e.place]===0)return!1;for(var b=0,z=0,a=e.place;z>>=0;return b<=127?!1:(e.place=a,b)}function Rr(n){for(var e=0,t=n.length-1;!n[e]&&!(n[e+1]&128)&&e>>3);for(n.push(t|128);--t;)n.push(e>>>(t<<3)&255);n.push(e)}Pc.prototype.toDER=function(e){var t=this.r.toArray(),c=this.s.toArray();for(t[0]&128&&(t=[0].concat(t)),c[0]&128&&(c=[0].concat(c)),t=Rr(t),c=Rr(c);!c[0]&&!(c[1]&128);)c=c.slice(1);var b=[2];vb(b,t.length),b=b.concat(t),b.push(2),vb(b,c.length);var z=b.concat(c),a=[48];return vb(a,z.length),a=a.concat(z),na.encode(a,e)};var e2=i2,pp=$4,Z4=be,xb=jc,eh=Fo,ip=Z4.assert,ta=K4,Dc=V4;function Me(n){if(!(this instanceof Me))return new Me(n);typeof n=="string"&&(ip(Object.prototype.hasOwnProperty.call(xb,n),"Unknown curve "+n),n=xb[n]),n instanceof xb.PresetCurve&&(n={curve:n}),this.curve=n.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=n.curve.g,this.g.precompute(n.curve.n.bitLength()+1),this.hash=n.hash||n.curve.hash}var nh=Me;Me.prototype.keyPair=function(e){return new ta(this,e)};Me.prototype.keyFromPrivate=function(e,t){return ta.fromPrivate(this,e,t)};Me.prototype.keyFromPublic=function(e,t){return ta.fromPublic(this,e,t)};Me.prototype.genKeyPair=function(e){e||(e={});for(var t=new pp({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||eh(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),c=this.n.byteLength(),b=this.n.sub(new e2(2));;){var z=new e2(t.generate(c));if(!(z.cmp(b)>0))return z.iaddn(1),this.keyFromPrivate(z)}};Me.prototype._truncateToN=function(e,t,c){var b;if(e2.isBN(e)||typeof e=="number")e=new e2(e,16),b=e.byteLength();else if(typeof e=="object")b=e.length,e=new e2(e,16);else{var z=e.toString();b=z.length+1>>>1,e=new e2(z,16)}typeof c!="number"&&(c=b*8);var a=c-this.n.bitLength();return a>0&&(e=e.ushrn(a)),!t&&e.cmp(this.n)>=0?e.sub(this.n):e};Me.prototype.sign=function(e,t,c,b){typeof c=="object"&&(b=c,c=null),b||(b={}),t=this.keyFromPrivate(t,c),e=this._truncateToN(e,!1,b.msgBitLength);for(var z=this.n.byteLength(),a=t.getPrivate().toArray("be",z),r=e.toArray("be",z),o=new pp({hash:this.hash,entropy:a,nonce:r,pers:b.pers,persEnc:b.persEnc||"utf8"}),i=this.n.sub(new e2(1)),O=0;;O++){var u=b.k?b.k(O):new e2(o.generate(this.n.byteLength()));if(u=this._truncateToN(u,!0),!(u.cmpn(1)<=0||u.cmp(i)>=0)){var l=this.g.mul(u);if(!l.isInfinity()){var R=l.getX(),_=R.umod(this.n);if(_.cmpn(0)!==0){var y=u.invm(this.n).mul(_.mul(t.getPrivate()).iadd(e));if(y=y.umod(this.n),y.cmpn(0)!==0){var w=(l.getY().isOdd()?1:0)|(R.cmp(_)!==0?2:0);return b.canonical&&y.cmp(this.nh)>0&&(y=this.n.sub(y),w^=1),new Dc({r:_,s:y,recoveryParam:w})}}}}}};Me.prototype.verify=function(e,t,c,b,z){z||(z={}),e=this._truncateToN(e,!1,z.msgBitLength),c=this.keyFromPublic(c,b),t=new Dc(t,"hex");var a=t.r,r=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0||r.cmpn(1)<0||r.cmp(this.n)>=0)return!1;var o=r.invm(this.n),i=o.mul(e).umod(this.n),O=o.mul(a).umod(this.n),u;return this.curve._maxwellTrick?(u=this.g.jmulAdd(i,c.getPublic(),O),u.isInfinity()?!1:u.eqXToP(a)):(u=this.g.mulAdd(i,c.getPublic(),O),u.isInfinity()?!1:u.getX().umod(this.n).cmp(a)===0)};Me.prototype.recoverPubKey=function(n,e,t,c){ip((3&t)===t,"The recovery param is more than two bits"),e=new Dc(e,c);var b=this.n,z=new e2(n),a=e.r,r=e.s,o=t&1,i=t>>1;if(a.cmp(this.curve.p.umod(this.curve.n))>=0&&i)throw new Error("Unable to find sencond key candinate");i?a=this.curve.pointFromX(a.add(this.curve.n),o):a=this.curve.pointFromX(a,o);var O=e.r.invm(b),u=b.sub(z).mul(O).umod(b),l=r.mul(O).umod(b);return this.g.mulAdd(u,a,l)};Me.prototype.getKeyRecoveryParam=function(n,e,t,c){if(e=new Dc(e,c),e.recoveryParam!==null)return e.recoveryParam;for(var b=0;b<4;b++){var z;try{z=this.recoverPubKey(n,e,b)}catch{continue}if(z.eq(t))return b}throw new Error("Unable to find valid recovery factor")};var At=be,sp=At.assert,_r=At.parseBytes,wn=At.cachedProperty;function w1(n,e){this.eddsa=n,this._secret=_r(e.secret),n.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=_r(e.pub)}w1.fromPublic=function(e,t){return t instanceof w1?t:new w1(e,{pub:t})};w1.fromSecret=function(e,t){return t instanceof w1?t:new w1(e,{secret:t})};w1.prototype.secret=function(){return this._secret};wn(w1,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())});wn(w1,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())});wn(w1,"privBytes",function(){var e=this.eddsa,t=this.hash(),c=e.encodingLength-1,b=t.slice(0,e.encodingLength);return b[0]&=248,b[c]&=127,b[c]|=64,b});wn(w1,"priv",function(){return this.eddsa.decodeInt(this.privBytes())});wn(w1,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()});wn(w1,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)});w1.prototype.sign=function(e){return sp(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)};w1.prototype.verify=function(e,t){return this.eddsa.verify(e,t,this)};w1.prototype.getSecret=function(e){return sp(this._secret,"KeyPair is public only"),At.encode(this.secret(),e)};w1.prototype.getPublic=function(e){return At.encode(this.pubBytes(),e)};var th=w1,ch=i2,Fc=be,yr=Fc.assert,Uc=Fc.cachedProperty,bh=Fc.parseBytes;function E2(n,e){this.eddsa=n,typeof e!="object"&&(e=bh(e)),Array.isArray(e)&&(yr(e.length===n.encodingLength*2,"Signature has invalid size"),e={R:e.slice(0,n.encodingLength),S:e.slice(n.encodingLength)}),yr(e.R&&e.S,"Signature without R or S"),n.isPoint(e.R)&&(this._R=e.R),e.S instanceof ch&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}Uc(E2,"S",function(){return this.eddsa.decodeInt(this.Sencoded())});Uc(E2,"R",function(){return this.eddsa.decodePoint(this.Rencoded())});Uc(E2,"Rencoded",function(){return this.eddsa.encodePoint(this.R())});Uc(E2,"Sencoded",function(){return this.eddsa.encodeInt(this.S())});E2.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())};E2.prototype.toHex=function(){return Fc.encode(this.toBytes(),"hex").toUpperCase()};var zh=E2,ah=Ic,rh=jc,fn=be,Mh=fn.assert,Op=fn.parseBytes,up=th,Lr=zh;function K1(n){if(Mh(n==="ed25519","only tested with ed25519 so far"),!(this instanceof K1))return new K1(n);n=rh[n].curve,this.curve=n,this.g=n.g,this.g.precompute(n.n.bitLength()+1),this.pointClass=n.point().constructor,this.encodingLength=Math.ceil(n.n.bitLength()/8),this.hash=ah.sha512}var oh=K1;K1.prototype.sign=function(e,t){e=Op(e);var c=this.keyFromSecret(t),b=this.hashInt(c.messagePrefix(),e),z=this.g.mul(b),a=this.encodePoint(z),r=this.hashInt(a,c.pubBytes(),e).mul(c.priv()),o=b.add(r).umod(this.curve.n);return this.makeSignature({R:z,S:o,Rencoded:a})};K1.prototype.verify=function(e,t,c){if(e=Op(e),t=this.makeSignature(t),t.S().gte(t.eddsa.curve.n)||t.S().isNeg())return!1;var b=this.keyFromPublic(c),z=this.hashInt(t.Rencoded(),b.pubBytes(),e),a=this.g.mul(t.S()),r=t.R().add(b.pub().mul(z));return r.eq(a)};K1.prototype.hashInt=function(){for(var e=this.hash(),t=0;tz.toString(16).padStart(2,"0")).join("")}const ih="044ad3bfb46f3b89979dd551a5dada23f8502f8a0c54d247e1f8d31e5d7705a978df1ef30ba5a4b5206f0b0f573c8f76feada715f949430187f62f5640ca144aa7",sh=new Eo.ec("secp256k1"),Oh=sh.keyFromPublic(ih,"hex");let Tt=!1;async function uh(n){const t=new TextEncoder().encode(n),c=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(c)).map(a=>a.toString(16).padStart(2,"0")).join("")}async function dh(){return await dp("freeze7XSGUQr_20250115_name_siyuanTomatoCode_3046022100873b5b9810d53eb0343b3961d8329b6d1095370de8d61684d837938e312c27f5022100a1ce4194e2d50bae04a906ffcc806f710408ec4e8bd251b0493c7324de8e5dc8","")}async function En(){return Ah("_siyuanProgressiveCode_")}async function Ah(n){return Tt?!0:(Tt=(await fh(zo.get(),n)).valid,Tt||(A.pushMsg("请更新插件到最新版本"),console.info("请更新插件到最新版本")),Tt)}async function fh(n,e){let t=await dp(n,e);return t.valid||(t=await dh()),t}async function dp(n,e){let t=!1,c="",b="",z="",a="",r="";{const o="siyuanTomatoCode",i=n==null?void 0:n.split(`_${o}_`);if((i==null?void 0:i.length)===2){b=i[0],c=`${b}_${o}`;const O=i[1];try{const u=await uh(c);t=Oh.verify(u,O)}catch{t=!1}}}{const o=b.split("_");o.length===3&&(z=o[1],o[2]==="ldID"?a=o[0]:o[2]==="name"&&(r=o[0]))}return t&&(t=await lh(a,r,z)),[""].includes(await ph(b))&&(t=!1),e&&!n.includes(e)&&(t=!1),{exp:z,valid:t}}async function lh(n,e,t){var o;const c=await A.currentTimeMs(),{y:b,M:z,d:a}=ne.nowYMDStrPad(new Date(c));if(b+z+a<=t){if(n)return n===((o=h2==null?void 0:h2.user)==null?void 0:o.userId);if(e)return!0}return!1}async function Ap(n){const e=await A.getDocRowByBlockID(n);return Hc(e==null?void 0:e.id)}async function Hc(n){const e={bookID:"",pieceNum:NaN};if(n){const t=await A.getBlockAttrs(n);let c=t["custom-progmark"];const b=t["custom-book-writing"];if(c){c=c.split(k1).pop();const a=c.split("#").pop().split(",");e.bookID=a[0],e.pieceNum=Number(a[1])}else if(b){const z=b.split("#");e.bookID=z[0],e.pieceNum=parseInt(z.pop(),10)}}return e}class hh{constructor(){U(this,"plugin");U(this,"storage");U(this,"openedTabs");U(this,"settings");U(this,"lute");U(this,"docID");U(this,"observer");U(this,"welement")}addTopbar(e,t){const c=e.addTopBar({icon:"iconFilesRoot",title:e.i18n.progressiveReadingMenu,position:t,callback:()=>{if(L0.isMobile)this.addMenu();else{let b=c.getBoundingClientRect();b.width===0&&(b=document.querySelector("#barMore").getBoundingClientRect()),b.width===0&&(b=document.querySelector("#barPlugins").getBoundingClientRect()),this.addMenu(b)}}});return c}async onload(e,t){this.plugin=e,this.lute=Bc(),this.settings=t,this.storage=new Cf(e),await this.storage.onLayoutReady(),this.plugin.addCommand({langKey:"startToLearn",hotkey:"⌥-",callback:async()=>{await this.startToLearnWithLock()}}),this.plugin.addCommand({langKey:"startToLearnRand",hotkey:"⌥⇧-",callback:async()=>{await this.startToLearnWithLock("",!0)}}),this.plugin.addCommand({langKey:"viewAllProgressiveBooks",hotkey:"⌥=",callback:async()=>{await this.viewAllProgressiveBooks()}}),this.plugin.addCommand({langKey:"上一页2024-11-19 10:53:57",langText:T.上一页,hotkey:"⌘←",callback:()=>this.movePage(-1)}),this.plugin.addCommand({langKey:"下一页2024-11-19 10:53:57",langText:T.下一页,hotkey:"⌘→",callback:()=>this.movePage(1)}),this.plugin.eventBus.on("open-menu-content",({detail:c})=>{const b=c.menu;b.addItem({iconHTML:"+📗",label:this.plugin.i18n.addProgressiveReading,accelerator:"",click:async()=>{await this.addProgressiveReadingWithLock()}}),b.addItem({iconHTML:"👁️📚",label:this.plugin.i18n.viewAllProgressiveBooks,accelerator:"⌥=",click:async()=>{await this.viewAllProgressiveBooks()}}),b.addItem({label:this.plugin.i18n.readThisPiece,iconHTML:"🎯📖",click:()=>{var a;const z=((a=c==null?void 0:c.element)==null?void 0:a.getAttribute("data-node-id"))??"";z&&this.readThisPiece(z)}}),b.addItem({iconHTML:"🔀📖",label:this.plugin.i18n.startToLearn,accelerator:"⌥-",click:()=>{this.startToLearnWithLock()}})}),L0.addListener("ProgressiveBox",(c,b)=>{(c==tn.loaded_protyle_static||c==tn.loaded_protyle_dynamic||c==tn.click_editorcontent||c==tn.switch_protyle)&&(navigator.locks.request(Ka,{ifAvailable:!0},async z=>{var u,l,R;const a=b.protyle,r=(u=a==null?void 0:a.wysiwyg)==null?void 0:u.element,o=a==null?void 0:a.element;if(!a||!r||!o)return;this.settings.hideBtnsInFlashCard&&o.classList.contains("card__block")&&o.querySelectorAll(`[${g1}][${c1}]`).forEach(_=>{_.style.display="none"});const i=(l=a==null?void 0:a.block)==null?void 0:l.rootID,{isPiece:O}=B2(a);z&&i&&O&&(this.docID!=i||this.welement!==r)&&(this.docID=i,this.welement=r,(R=this.observer)==null||R.disconnect(),this.observer=new MutationObserver(_=>{const y=_.map(w=>[...w.addedNodes.values()]).flat();this.tryAddRefAttr(y)}),this.observer.observe(r,{childList:!0,subtree:!0}))}),navigator.locks.request(WA,{ifAvailable:!0},async z=>{var O,u;const a=b.protyle;if(!a)return;const r=a.notebookId,o=(O=a==null?void 0:a.block)==null?void 0:O.rootID,i=(u=a==null?void 0:a.wysiwyg)==null?void 0:u.element;z&&i&&o&&r&&Ef(i)}))})}async movePage(e){var z,a,r;const t=(r=(a=(z=L0.protyle)==null?void 0:z.protyle)==null?void 0:a.block)==null?void 0:r.rootID,{bookID:c,pieceNum:b}=await Hc(t);await this.storage.gotoBlock(c,b+e),await this.startToLearnWithLock(c)}async tryAddRefAttr(e){return navigator.locks.request(Ka+"tryAddRefAttr",{mode:"exclusive"},async t=>{t&&e.filter(c=>c.getAttribute&&c.querySelectorAll).filter(c=>!c.getAttribute(ee)).filter(c=>{const b=c.getAttribute(q1);return b==h1.NODE_PARAGRAPH||b==h1.NODE_LIST||b==h1.NODE_LIST_ITEM||b==h1.NODE_HEADING||b==h1.NODE_BLOCKQUOTE||b==h1.NODE_CODE_BLOCK}).forEach(c=>{const{ref:b,idx:z,bIdx:a}=gh(c)||Wh(c);if(b){const r={};r["custom-progref"]=b,z&&(r["custom-paragraph-index"]=z),a&&(r["custom-in-book-index"]=a),setTimeout(()=>{A.setBlockAttrs(c.getAttribute(c1),r)},4e3),c.setAttribute(ee,b),a&&c.setAttribute(t2,a),z&&c.setAttribute(n2,z),c.querySelectorAll(`div[${c1}]`).forEach(o=>{o.setAttribute(ee,b),a&&o.setAttribute(t2,a),z&&o.setAttribute(n2,z)})}})})}blockIconEvent(e){if(!this.plugin)return;const t=e.menu;t.addItem({iconHTML:"+📗",label:this.plugin.i18n.addProgressiveReading,accelerator:"",click:async()=>{await this.addProgressiveReadingWithLock()}}),t.addItem({iconHTML:"🎯📖",label:this.plugin.i18n.readThisPiece,accelerator:"",click:async()=>{await this.readThisPiece()}})}addMenu(e){const t=new X0.Menu("progressiveMenu");t.addItem({iconHTML:"+📗",label:this.plugin.i18n.addProgressiveReading,accelerator:"",click:async()=>{await this.addProgressiveReadingWithLock()}}),t.addItem({iconHTML:"👁️📚",label:this.plugin.i18n.viewAllProgressiveBooks,accelerator:"⌥=",click:async()=>{await this.viewAllProgressiveBooks()}}),t.addItem({iconHTML:"🎯📖",label:this.plugin.i18n.readThisPiece,accelerator:"",click:async()=>{await this.readThisPiece()}}),t.addItem({iconHTML:"🔀📖",label:this.plugin.i18n.startToLearn,accelerator:"⌥-",click:()=>{this.startToLearnWithLock()}}),t.addItem({iconHTML:"⚙️",label:T.渐进学习的设置,click:()=>{this.plugin.setting.open(T.渐进学习)}}),L0.isMobile?t.fullscreen():t.open({x:e.right,y:e.bottom,isLeft:!0})}async addProgressiveReadingWithLock(e){if(await En())return navigator.locks.request(mA,{ifAvailable:!0},async t=>{t?(await this.addProgressiveReading(e,L0.boxID),await nn(mb)):await A.pushMsg(this.plugin.i18n.slowDownALittleBit+" [1]")})}async addProgressiveReading(e="",t=""){if(e||(e=L0.docID),!e){await A.pushMsg(this.plugin.i18n.openAdocFirst);return}const c=await A.sqlOne(`select content from blocks where type='d' and id='${e}'`);if(!c){A.pushMsg(this.plugin.i18n.maybeBookRemoved.replace("{bookID}",e));return}await this.addProgressiveReadingDialog(e,c.content,t)}async addProgressiveReadingDialog(e,t,c){const b=ac();let z;const a=new X0.Dialog({title:this.plugin.i18n.addProgressiveReading,content:``,width:L0.isMobile?"90vw":"700px",height:L0.isMobile?"180vw":null,destroyCallback(){z==null||z.$destroy(),z=void 0}});z=new vf({target:a.element.querySelector("#"+b),props:{bookID:e,bookName:t,boxID:c,dialog:a,plugin:this.plugin}})}async readThisPiece(e){if(!await En())return;e||(e=L0.lastBlockID);const t=await A.sqlOne(`select root_id from blocks where id="${e}"`);if(t){const c=t.root_id,b=await this.storage.loadBookIndexIfNeeded(c);if(!b.length)await A.pushMsg(this.plugin.i18n.addThisDocFirst);else{for(let z=0;z{if(c){await A.pushMsg(this.plugin.i18n.openingDocPieceForYou);let b=0;for(;await this.startToLearn(e,t)===!1&&!(b++>30););await nn(mb)}else await A.pushMsg(this.plugin.i18n.slowDownALittleBit+" [2]")})}async openContentsLock(e){return navigator.locks.request(RA,{ifAvailable:!0},async t=>{t?await this.openContents(e):await A.pushMsg(T.构建打开目录中请稍后片刻)})}async openContents(e){let t=await fA(e);if(!t){A.pushMsg(T.首次构建目录请稍后片刻);const c=await A.sqlOne(`select box,hpath,content from blocks where id='${e}' and type='d'`),b=c.hpath,z=c.box,a=c.content;if(!z||!b)return;const{root:r}=await ko(e,"",!1,!1,1),o=r.children.filter(u=>u.type==="h").map(u=>(u.content=u.div.textContent,u));if(o.length==0)return;const i=o.reduce((u,l)=>{l.content=l.content.trim();let R=Number(l.subtype[1]);return(!q2(R)||R<1)&&(R=1),u.push(Hf(R)+t1(h0.readThisBlock,l.content,"",l.id,l.id,0,!0)),u},[]),O={};O[g1]=Oo(e),O["custom-sy-readonly"]="true",t=await A.createDocWithMdIfNotExists(z,`${b}/contents-${a}`,i.join(`
-`),O)}t&&await J1(this.plugin,t)}async startToLearn(e="",t=!1){let c="";const b=await this.getBook2Learn(e);if(!b.bookID){A.pushMsg(this.plugin.i18n.AddADocFirst);return}e=b.bookID;const z=await this.storage.loadBookIndexIfNeeded(b.bookID);let a=(await this.storage.booksInfo(b.bookID)).point;if(t&&(a=Qd(z.length)),await this.storage.updateBookInfoTime(e),a>=z.length){await A.pushMsg(this.plugin.i18n.thisIsLastPage);return}else if(a<0){await A.pushMsg(this.plugin.i18n.thisIsFirstPage);return}const r=z[a-1]??[],o=z[a];c=await mo(b.bookID,a);let i=!1;if(c)await this.addAndClose(await J1(this.plugin,c)),i=!0;else if(c=await gA(b.boxID,b.bookID,o,a),c)await this.addReadingBtns(e,c,a),await this.fullfilContent(a,b.bookID,r,o,c,null),await this.addAndClose(await J1(this.plugin,c,null,null,()=>{b.autoCard&&ao(c,1e3,60*60*24)})),i=!0;else return!1;if(i&&this.settings.openCardsOnOpenPiece){let O="",u;if(this.settings.cardUnderPiece?(O=await ae(c,"cards"),u=c):(O=await ae(e,"cards"),u=e),O&&u){const l=await Wo(u,b.boxID,O);J1(this.plugin,l,ve.get())}}return!0}async htmlBlockReadNextPeice(e,t,c,b){return navigator.locks.request("htmlBlockReadNextPeiceLock",{ifAvailable:!0},async z=>{z?(await this.htmlBlockReadNextPeiceInLock(e,t,c,b),await nn(mb)):await A.pushMsg(this.plugin.i18n.slowDownALittleBit+" [3]")})}async htmlBlockReadNextPeiceInLock(e,t,c,b){switch(c){case h0.previous:await this.storage.gotoBlock(e,b-1),await this.startToLearnWithLock(e);break;case h0.next:await this.storage.gotoBlock(e,b+1),await this.startToLearnWithLock(e);break;case h0.deleteAndExit:X0.confirm("⚠️","🏃 🗑",async()=>{await A.removeRiffCards([t]),A.removeDocByID(t)});break;case h0.deleteAndBack:X0.confirm("⚠️",this.plugin.i18n.DeleteAndBack,async()=>{await A.removeRiffCards([t]),await this.storage.gotoBlock(e,b-1),await this.startToLearnWithLock(e),A.removeDocByID(t)});break;case h0.deleteAndNext:X0.confirm("⚠️",this.plugin.i18n.DeleteAndNext,async()=>{await A.removeRiffCards([t]),await this.storage.gotoBlock(e,b+1),await this.startToLearnWithLock(e),A.removeDocByID(t)});break;case h0.nextBook:await this.startToLearnWithLock();break;case h0.quit:{const z=await J1(this.plugin,t);await nn(200),z==null||z.close();break}case h0.AddDocCard:await A.addRiffCards([t]);break;case h0.DelDocCard:await A.removeRiffCards([t]);break;case h0.ignoreBook:await this.storage.setIgnoreBook(e);break;case h0.fullfilContent:{const z=await this.storage.loadBookIndexIfNeeded(e),a=z[b-1]??[],r=z[b]??[];await this.fullfilContent(b,e,a,r,t,null);break}case h0.cleanOriginText:await Bt(t);break;case h0.openFlashcardTab:e?X0.openTab({app:this.plugin.app,card:{type:"doc",id:e}}):X0.openTab({app:this.plugin.app,card:{type:"all"}});break;case h0.viewContents:await this.openContentsLock(e);break;case h0.splitByPunctuations:{await Bt(t);const z=await this.storage.loadBookIndexIfNeeded(e),a=z[b]??[],r=z[b-1]??[];await this.fullfilContent(b,e,r,a,t,"p");break}case h0.splitByPunctuationsList:{await Bt(t);const z=await this.storage.loadBookIndexIfNeeded(e),a=z[b]??[],r=z[b-1]??[];await this.fullfilContent(b,e,r,a,t,"i");break}case h0.splitByPunctuationsListCheck:{await Bt(t);const z=await this.storage.loadBookIndexIfNeeded(e),a=z[b]??[],r=z[b-1]??[];await this.fullfilContent(b,e,r,a,t,"t");break}default:throw"Invalid HtmlCBType "+c}}async splitAndInsert(e,t,c,b){const z=new gf(e,this.plugin,t,c);(b==null?void 0:b.length)>0&&(await z.splitByIDs(b),await z.insert(!1))}async addAndClose(e){if(e)return navigator.locks.request("Progressive_addAndClose",async()=>{this.openedTabs&&this.openedTabs.id!=e.id&&this.openedTabs.close(),this.openedTabs=e})}async addReadingBtns(e,t,c){const b=[];b.push(wt("---")),b.push(wt(Ff(e,t,c))),b.push(wt(Df(e,t,c))),b.push(wt(Pf(e,t,c))),await A.appendBlock(b.join(`
+{: ${Kz}="${n}" memo="${t}" ${jo}="${b}" ${Io}="${c}" ${Eo}="${z}"}`:""}async function Hf(n){n.stopPropagation();const e=wc(n.target);if(!e)return;const t=Number(e.getAttribute(Kz)),c=e.getAttribute(Io);if(t!=h0.nop)if(t==h0.readThisBlock){const b=c;await M0.readThisPiece(b)}else{const b=e.getAttribute(jo),z=Number(e.getAttribute(Eo));await M0.htmlBlockReadNextPeice(c,b,t,z)}}function $f(n){const e=n>1?"|":"",t=" ".repeat(n-1),c=["","","","","","","","",""][n];return e+t+c}var Po={};const Jf="elliptic",Yf="6.6.0",Kf="EC cryptography",Gf="lib/elliptic.js",Vf=["lib"],Qf={lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},Zf={type:"git",url:"git@github.com:indutny/elliptic"},el=["EC","Elliptic","curve","Cryptography"],nl="Fedor Indutny ",tl="MIT",cl={url:"https://github.com/indutny/elliptic/issues"},bl="https://github.com/indutny/elliptic",zl={brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},al={"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},rl={name:Jf,version:Yf,description:Kf,main:Gf,files:Vf,scripts:Qf,repository:Zf,keywords:el,author:nl,license:tl,bugs:cl,homepage:bl,devDependencies:zl,dependencies:al};var be={},Gz={exports:{}};const Ml={},ol=Object.freeze(Object.defineProperty({__proto__:null,default:Ml},Symbol.toStringTag,{value:"Module"})),Do=cM(ol);Gz.exports;(function(n){(function(e,t){function c(q,M){if(!q)throw new Error(M||"Assertion failed")}function b(q,M){q.super_=M;var s=function(){};s.prototype=M.prototype,q.prototype=new s,q.prototype.constructor=q}function z(q,M,s){if(z.isBN(q))return q;this.negative=0,this.words=null,this.length=0,this.red=null,q!==null&&((M==="le"||M==="be")&&(s=M,M=10),this._init(q||0,M||10,s||"be"))}typeof e=="object"?e.exports=z:t.BN=z,z.BN=z,z.wordSize=26;var a;try{typeof window<"u"&&typeof window.Buffer<"u"?a=window.Buffer:a=Do.Buffer}catch{}z.isBN=function(M){return M instanceof z?!0:M!==null&&typeof M=="object"&&M.constructor.wordSize===z.wordSize&&Array.isArray(M.words)},z.max=function(M,s){return M.cmp(s)>0?M:s},z.min=function(M,s){return M.cmp(s)<0?M:s},z.prototype._init=function(M,s,d){if(typeof M=="number")return this._initNumber(M,s,d);if(typeof M=="object")return this._initArray(M,s,d);s==="hex"&&(s=16),c(s===(s|0)&&s>=2&&s<=36),M=M.toString().replace(/\s+/g,"");var f=0;M[0]==="-"&&(f++,this.negative=1),f=0;f-=3)L=M[f]|M[f-1]<<8|M[f-2]<<16,this.words[g]|=L<>>26-N&67108863,N+=24,N>=26&&(N-=26,g++);else if(d==="le")for(f=0,g=0;f>>26-N&67108863,N+=24,N>=26&&(N-=26,g++);return this.strip()};function r(q,M){var s=q.charCodeAt(M);return s>=65&&s<=70?s-55:s>=97&&s<=102?s-87:s-48&15}function o(q,M,s){var d=r(q,s);return s-1>=M&&(d|=r(q,s-1)<<4),d}z.prototype._parseHex=function(M,s,d){this.length=Math.ceil((M.length-s)/6),this.words=new Array(this.length);for(var f=0;f=s;f-=2)N=o(M,s,f)<=18?(g-=18,L+=1,this.words[L]|=N>>>26):g+=8;else{var h=M.length-s;for(f=h%2===0?s+1:s;f=18?(g-=18,L+=1,this.words[L]|=N>>>26):g+=8}this.strip()};function i(q,M,s,d){for(var f=0,g=Math.min(q.length,s),L=M;L=49?f+=N-49+10:N>=17?f+=N-17+10:f+=N}return f}z.prototype._parseBase=function(M,s,d){this.words=[0],this.length=1;for(var f=0,g=1;g<=67108863;g*=s)f++;f--,g=g/s|0;for(var L=M.length-d,N=L%f,h=Math.min(L,L-N)+d,p=0,m=d;m1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},z.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},z.prototype.inspect=function(){return(this.red?""};var O=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];z.prototype.toString=function(M,s){M=M||10,s=s|0||1;var d;if(M===16||M==="hex"){d="";for(var f=0,g=0,L=0;L>>24-f&16777215,g!==0||L!==this.length-1?d=O[6-h.length]+h+d:d=h+d,f+=2,f>=26&&(f-=26,L--)}for(g!==0&&(d=g.toString(16)+d);d.length%s!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}if(M===(M|0)&&M>=2&&M<=36){var p=u[M],m=l[M];d="";var J=this.clone();for(J.negative=0;!J.isZero();){var $=J.modn(m).toString(M);J=J.idivn(m),J.isZero()?d=$+d:d=O[p-$.length]+$+d}for(this.isZero()&&(d="0"+d);d.length%s!==0;)d="0"+d;return this.negative!==0&&(d="-"+d),d}c(!1,"Base should be between 2 and 36")},z.prototype.toNumber=function(){var M=this.words[0];return this.length===2?M+=this.words[1]*67108864:this.length===3&&this.words[2]===1?M+=4503599627370496+this.words[1]*67108864:this.length>2&&c(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-M:M},z.prototype.toJSON=function(){return this.toString(16)},z.prototype.toBuffer=function(M,s){return c(typeof a<"u"),this.toArrayLike(a,M,s)},z.prototype.toArray=function(M,s){return this.toArrayLike(Array,M,s)},z.prototype.toArrayLike=function(M,s,d){var f=this.byteLength(),g=d||Math.max(1,f);c(f<=g,"byte array longer than desired length"),c(g>0,"Requested array length <= 0"),this.strip();var L=s==="le",N=new M(g),h,p,m=this.clone();if(L){for(p=0;!m.isZero();p++)h=m.andln(255),m.iushrn(8),N[p]=h;for(;p=4096&&(d+=13,s>>>=13),s>=64&&(d+=7,s>>>=7),s>=8&&(d+=4,s>>>=4),s>=2&&(d+=2,s>>>=2),d+s},z.prototype._zeroBits=function(M){if(M===0)return 26;var s=M,d=0;return s&8191||(d+=13,s>>>=13),s&127||(d+=7,s>>>=7),s&15||(d+=4,s>>>=4),s&3||(d+=2,s>>>=2),s&1||d++,d},z.prototype.bitLength=function(){var M=this.words[this.length-1],s=this._countBits(M);return(this.length-1)*26+s};function R(q){for(var M=new Array(q.bitLength()),s=0;s>>f}return M}z.prototype.zeroBits=function(){if(this.isZero())return 0;for(var M=0,s=0;sM.length?this.clone().ior(M):M.clone().ior(this)},z.prototype.uor=function(M){return this.length>M.length?this.clone().iuor(M):M.clone().iuor(this)},z.prototype.iuand=function(M){var s;this.length>M.length?s=M:s=this;for(var d=0;dM.length?this.clone().iand(M):M.clone().iand(this)},z.prototype.uand=function(M){return this.length>M.length?this.clone().iuand(M):M.clone().iuand(this)},z.prototype.iuxor=function(M){var s,d;this.length>M.length?(s=this,d=M):(s=M,d=this);for(var f=0;fM.length?this.clone().ixor(M):M.clone().ixor(this)},z.prototype.uxor=function(M){return this.length>M.length?this.clone().iuxor(M):M.clone().iuxor(this)},z.prototype.inotn=function(M){c(typeof M=="number"&&M>=0);var s=Math.ceil(M/26)|0,d=M%26;this._expand(s),d>0&&s--;for(var f=0;f0&&(this.words[f]=~this.words[f]&67108863>>26-d),this.strip()},z.prototype.notn=function(M){return this.clone().inotn(M)},z.prototype.setn=function(M,s){c(typeof M=="number"&&M>=0);var d=M/26|0,f=M%26;return this._expand(d+1),s?this.words[d]=this.words[d]|1<M.length?(d=this,f=M):(d=M,f=this);for(var g=0,L=0;L>>26;for(;g!==0&&L>>26;if(this.length=d.length,g!==0)this.words[this.length]=g,this.length++;else if(d!==this)for(;LM.length?this.clone().iadd(M):M.clone().iadd(this)},z.prototype.isub=function(M){if(M.negative!==0){M.negative=0;var s=this.iadd(M);return M.negative=1,s._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(M),this.negative=1,this._normSign();var d=this.cmp(M);if(d===0)return this.negative=0,this.length=1,this.words[0]=0,this;var f,g;d>0?(f=this,g=M):(f=M,g=this);for(var L=0,N=0;N>26,this.words[N]=s&67108863;for(;L!==0&&N>26,this.words[N]=s&67108863;if(L===0&&N>>26,J=h&67108863,$=Math.min(p,M.length-1),V=Math.max(0,p-q.length+1);V<=$;V++){var z0=p-V|0;f=q.words[z0]|0,g=M.words[V]|0,L=f*g+J,m+=L/67108864|0,J=L&67108863}s.words[p]=J|0,h=m|0}return h!==0?s.words[p]=h|0:s.length--,s.strip()}var y=function(M,s,d){var f=M.words,g=s.words,L=d.words,N=0,h,p,m,J=f[0]|0,$=J&8191,V=J>>>13,z0=f[1]|0,a0=z0&8191,Q=z0>>>13,y0=f[2]|0,A0=y0&8191,l0=y0>>>13,W1=f[3]|0,b0=W1&8191,W=W1>>>13,B=f[4]|0,x=B&8191,D=B>>>13,c0=f[5]|0,r0=c0&8191,d0=c0>>>13,W0=f[6]|0,s0=W0&8191,C0=W0>>>13,m1=f[7]|0,F0=m1&8191,E0=m1>>>13,V1=f[8]|0,T0=V1&8191,P0=V1>>>13,Wt=f[9]|0,Y0=Wt&8191,K0=Wt>>>13,mt=g[0]|0,G0=mt&8191,V0=mt>>>13,Rt=g[1]|0,Q0=Rt&8191,Z0=Rt>>>13,_t=g[2]|0,e1=_t&8191,n1=_t>>>13,s2=g[3]|0,f0=s2&8191,a1=s2>>>13,Na=g[4]|0,r1=Na&8191,M1=Na>>>13,wa=g[5]|0,o1=wa&8191,p1=wa>>>13,Ba=g[6]|0,i1=Ba&8191,s1=Ba>>>13,va=g[7]|0,O1=va&8191,u1=va>>>13,xa=g[8]|0,d1=xa&8191,A1=xa>>>13,Sa=g[9]|0,f1=Sa&8191,l1=Sa>>>13;d.negative=M.negative^s.negative,d.length=19,h=Math.imul($,G0),p=Math.imul($,V0),p=p+Math.imul(V,G0)|0,m=Math.imul(V,V0);var Gc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Gc>>>26)|0,Gc&=67108863,h=Math.imul(a0,G0),p=Math.imul(a0,V0),p=p+Math.imul(Q,G0)|0,m=Math.imul(Q,V0),h=h+Math.imul($,Q0)|0,p=p+Math.imul($,Z0)|0,p=p+Math.imul(V,Q0)|0,m=m+Math.imul(V,Z0)|0;var Vc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Vc>>>26)|0,Vc&=67108863,h=Math.imul(A0,G0),p=Math.imul(A0,V0),p=p+Math.imul(l0,G0)|0,m=Math.imul(l0,V0),h=h+Math.imul(a0,Q0)|0,p=p+Math.imul(a0,Z0)|0,p=p+Math.imul(Q,Q0)|0,m=m+Math.imul(Q,Z0)|0,h=h+Math.imul($,e1)|0,p=p+Math.imul($,n1)|0,p=p+Math.imul(V,e1)|0,m=m+Math.imul(V,n1)|0;var Qc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Qc>>>26)|0,Qc&=67108863,h=Math.imul(b0,G0),p=Math.imul(b0,V0),p=p+Math.imul(W,G0)|0,m=Math.imul(W,V0),h=h+Math.imul(A0,Q0)|0,p=p+Math.imul(A0,Z0)|0,p=p+Math.imul(l0,Q0)|0,m=m+Math.imul(l0,Z0)|0,h=h+Math.imul(a0,e1)|0,p=p+Math.imul(a0,n1)|0,p=p+Math.imul(Q,e1)|0,m=m+Math.imul(Q,n1)|0,h=h+Math.imul($,f0)|0,p=p+Math.imul($,a1)|0,p=p+Math.imul(V,f0)|0,m=m+Math.imul(V,a1)|0;var Zc=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Zc>>>26)|0,Zc&=67108863,h=Math.imul(x,G0),p=Math.imul(x,V0),p=p+Math.imul(D,G0)|0,m=Math.imul(D,V0),h=h+Math.imul(b0,Q0)|0,p=p+Math.imul(b0,Z0)|0,p=p+Math.imul(W,Q0)|0,m=m+Math.imul(W,Z0)|0,h=h+Math.imul(A0,e1)|0,p=p+Math.imul(A0,n1)|0,p=p+Math.imul(l0,e1)|0,m=m+Math.imul(l0,n1)|0,h=h+Math.imul(a0,f0)|0,p=p+Math.imul(a0,a1)|0,p=p+Math.imul(Q,f0)|0,m=m+Math.imul(Q,a1)|0,h=h+Math.imul($,r1)|0,p=p+Math.imul($,M1)|0,p=p+Math.imul(V,r1)|0,m=m+Math.imul(V,M1)|0;var eb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(eb>>>26)|0,eb&=67108863,h=Math.imul(r0,G0),p=Math.imul(r0,V0),p=p+Math.imul(d0,G0)|0,m=Math.imul(d0,V0),h=h+Math.imul(x,Q0)|0,p=p+Math.imul(x,Z0)|0,p=p+Math.imul(D,Q0)|0,m=m+Math.imul(D,Z0)|0,h=h+Math.imul(b0,e1)|0,p=p+Math.imul(b0,n1)|0,p=p+Math.imul(W,e1)|0,m=m+Math.imul(W,n1)|0,h=h+Math.imul(A0,f0)|0,p=p+Math.imul(A0,a1)|0,p=p+Math.imul(l0,f0)|0,m=m+Math.imul(l0,a1)|0,h=h+Math.imul(a0,r1)|0,p=p+Math.imul(a0,M1)|0,p=p+Math.imul(Q,r1)|0,m=m+Math.imul(Q,M1)|0,h=h+Math.imul($,o1)|0,p=p+Math.imul($,p1)|0,p=p+Math.imul(V,o1)|0,m=m+Math.imul(V,p1)|0;var nb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(nb>>>26)|0,nb&=67108863,h=Math.imul(s0,G0),p=Math.imul(s0,V0),p=p+Math.imul(C0,G0)|0,m=Math.imul(C0,V0),h=h+Math.imul(r0,Q0)|0,p=p+Math.imul(r0,Z0)|0,p=p+Math.imul(d0,Q0)|0,m=m+Math.imul(d0,Z0)|0,h=h+Math.imul(x,e1)|0,p=p+Math.imul(x,n1)|0,p=p+Math.imul(D,e1)|0,m=m+Math.imul(D,n1)|0,h=h+Math.imul(b0,f0)|0,p=p+Math.imul(b0,a1)|0,p=p+Math.imul(W,f0)|0,m=m+Math.imul(W,a1)|0,h=h+Math.imul(A0,r1)|0,p=p+Math.imul(A0,M1)|0,p=p+Math.imul(l0,r1)|0,m=m+Math.imul(l0,M1)|0,h=h+Math.imul(a0,o1)|0,p=p+Math.imul(a0,p1)|0,p=p+Math.imul(Q,o1)|0,m=m+Math.imul(Q,p1)|0,h=h+Math.imul($,i1)|0,p=p+Math.imul($,s1)|0,p=p+Math.imul(V,i1)|0,m=m+Math.imul(V,s1)|0;var tb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(tb>>>26)|0,tb&=67108863,h=Math.imul(F0,G0),p=Math.imul(F0,V0),p=p+Math.imul(E0,G0)|0,m=Math.imul(E0,V0),h=h+Math.imul(s0,Q0)|0,p=p+Math.imul(s0,Z0)|0,p=p+Math.imul(C0,Q0)|0,m=m+Math.imul(C0,Z0)|0,h=h+Math.imul(r0,e1)|0,p=p+Math.imul(r0,n1)|0,p=p+Math.imul(d0,e1)|0,m=m+Math.imul(d0,n1)|0,h=h+Math.imul(x,f0)|0,p=p+Math.imul(x,a1)|0,p=p+Math.imul(D,f0)|0,m=m+Math.imul(D,a1)|0,h=h+Math.imul(b0,r1)|0,p=p+Math.imul(b0,M1)|0,p=p+Math.imul(W,r1)|0,m=m+Math.imul(W,M1)|0,h=h+Math.imul(A0,o1)|0,p=p+Math.imul(A0,p1)|0,p=p+Math.imul(l0,o1)|0,m=m+Math.imul(l0,p1)|0,h=h+Math.imul(a0,i1)|0,p=p+Math.imul(a0,s1)|0,p=p+Math.imul(Q,i1)|0,m=m+Math.imul(Q,s1)|0,h=h+Math.imul($,O1)|0,p=p+Math.imul($,u1)|0,p=p+Math.imul(V,O1)|0,m=m+Math.imul(V,u1)|0;var cb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(cb>>>26)|0,cb&=67108863,h=Math.imul(T0,G0),p=Math.imul(T0,V0),p=p+Math.imul(P0,G0)|0,m=Math.imul(P0,V0),h=h+Math.imul(F0,Q0)|0,p=p+Math.imul(F0,Z0)|0,p=p+Math.imul(E0,Q0)|0,m=m+Math.imul(E0,Z0)|0,h=h+Math.imul(s0,e1)|0,p=p+Math.imul(s0,n1)|0,p=p+Math.imul(C0,e1)|0,m=m+Math.imul(C0,n1)|0,h=h+Math.imul(r0,f0)|0,p=p+Math.imul(r0,a1)|0,p=p+Math.imul(d0,f0)|0,m=m+Math.imul(d0,a1)|0,h=h+Math.imul(x,r1)|0,p=p+Math.imul(x,M1)|0,p=p+Math.imul(D,r1)|0,m=m+Math.imul(D,M1)|0,h=h+Math.imul(b0,o1)|0,p=p+Math.imul(b0,p1)|0,p=p+Math.imul(W,o1)|0,m=m+Math.imul(W,p1)|0,h=h+Math.imul(A0,i1)|0,p=p+Math.imul(A0,s1)|0,p=p+Math.imul(l0,i1)|0,m=m+Math.imul(l0,s1)|0,h=h+Math.imul(a0,O1)|0,p=p+Math.imul(a0,u1)|0,p=p+Math.imul(Q,O1)|0,m=m+Math.imul(Q,u1)|0,h=h+Math.imul($,d1)|0,p=p+Math.imul($,A1)|0,p=p+Math.imul(V,d1)|0,m=m+Math.imul(V,A1)|0;var bb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(bb>>>26)|0,bb&=67108863,h=Math.imul(Y0,G0),p=Math.imul(Y0,V0),p=p+Math.imul(K0,G0)|0,m=Math.imul(K0,V0),h=h+Math.imul(T0,Q0)|0,p=p+Math.imul(T0,Z0)|0,p=p+Math.imul(P0,Q0)|0,m=m+Math.imul(P0,Z0)|0,h=h+Math.imul(F0,e1)|0,p=p+Math.imul(F0,n1)|0,p=p+Math.imul(E0,e1)|0,m=m+Math.imul(E0,n1)|0,h=h+Math.imul(s0,f0)|0,p=p+Math.imul(s0,a1)|0,p=p+Math.imul(C0,f0)|0,m=m+Math.imul(C0,a1)|0,h=h+Math.imul(r0,r1)|0,p=p+Math.imul(r0,M1)|0,p=p+Math.imul(d0,r1)|0,m=m+Math.imul(d0,M1)|0,h=h+Math.imul(x,o1)|0,p=p+Math.imul(x,p1)|0,p=p+Math.imul(D,o1)|0,m=m+Math.imul(D,p1)|0,h=h+Math.imul(b0,i1)|0,p=p+Math.imul(b0,s1)|0,p=p+Math.imul(W,i1)|0,m=m+Math.imul(W,s1)|0,h=h+Math.imul(A0,O1)|0,p=p+Math.imul(A0,u1)|0,p=p+Math.imul(l0,O1)|0,m=m+Math.imul(l0,u1)|0,h=h+Math.imul(a0,d1)|0,p=p+Math.imul(a0,A1)|0,p=p+Math.imul(Q,d1)|0,m=m+Math.imul(Q,A1)|0,h=h+Math.imul($,f1)|0,p=p+Math.imul($,l1)|0,p=p+Math.imul(V,f1)|0,m=m+Math.imul(V,l1)|0;var zb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(zb>>>26)|0,zb&=67108863,h=Math.imul(Y0,Q0),p=Math.imul(Y0,Z0),p=p+Math.imul(K0,Q0)|0,m=Math.imul(K0,Z0),h=h+Math.imul(T0,e1)|0,p=p+Math.imul(T0,n1)|0,p=p+Math.imul(P0,e1)|0,m=m+Math.imul(P0,n1)|0,h=h+Math.imul(F0,f0)|0,p=p+Math.imul(F0,a1)|0,p=p+Math.imul(E0,f0)|0,m=m+Math.imul(E0,a1)|0,h=h+Math.imul(s0,r1)|0,p=p+Math.imul(s0,M1)|0,p=p+Math.imul(C0,r1)|0,m=m+Math.imul(C0,M1)|0,h=h+Math.imul(r0,o1)|0,p=p+Math.imul(r0,p1)|0,p=p+Math.imul(d0,o1)|0,m=m+Math.imul(d0,p1)|0,h=h+Math.imul(x,i1)|0,p=p+Math.imul(x,s1)|0,p=p+Math.imul(D,i1)|0,m=m+Math.imul(D,s1)|0,h=h+Math.imul(b0,O1)|0,p=p+Math.imul(b0,u1)|0,p=p+Math.imul(W,O1)|0,m=m+Math.imul(W,u1)|0,h=h+Math.imul(A0,d1)|0,p=p+Math.imul(A0,A1)|0,p=p+Math.imul(l0,d1)|0,m=m+Math.imul(l0,A1)|0,h=h+Math.imul(a0,f1)|0,p=p+Math.imul(a0,l1)|0,p=p+Math.imul(Q,f1)|0,m=m+Math.imul(Q,l1)|0;var ab=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(ab>>>26)|0,ab&=67108863,h=Math.imul(Y0,e1),p=Math.imul(Y0,n1),p=p+Math.imul(K0,e1)|0,m=Math.imul(K0,n1),h=h+Math.imul(T0,f0)|0,p=p+Math.imul(T0,a1)|0,p=p+Math.imul(P0,f0)|0,m=m+Math.imul(P0,a1)|0,h=h+Math.imul(F0,r1)|0,p=p+Math.imul(F0,M1)|0,p=p+Math.imul(E0,r1)|0,m=m+Math.imul(E0,M1)|0,h=h+Math.imul(s0,o1)|0,p=p+Math.imul(s0,p1)|0,p=p+Math.imul(C0,o1)|0,m=m+Math.imul(C0,p1)|0,h=h+Math.imul(r0,i1)|0,p=p+Math.imul(r0,s1)|0,p=p+Math.imul(d0,i1)|0,m=m+Math.imul(d0,s1)|0,h=h+Math.imul(x,O1)|0,p=p+Math.imul(x,u1)|0,p=p+Math.imul(D,O1)|0,m=m+Math.imul(D,u1)|0,h=h+Math.imul(b0,d1)|0,p=p+Math.imul(b0,A1)|0,p=p+Math.imul(W,d1)|0,m=m+Math.imul(W,A1)|0,h=h+Math.imul(A0,f1)|0,p=p+Math.imul(A0,l1)|0,p=p+Math.imul(l0,f1)|0,m=m+Math.imul(l0,l1)|0;var rb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(rb>>>26)|0,rb&=67108863,h=Math.imul(Y0,f0),p=Math.imul(Y0,a1),p=p+Math.imul(K0,f0)|0,m=Math.imul(K0,a1),h=h+Math.imul(T0,r1)|0,p=p+Math.imul(T0,M1)|0,p=p+Math.imul(P0,r1)|0,m=m+Math.imul(P0,M1)|0,h=h+Math.imul(F0,o1)|0,p=p+Math.imul(F0,p1)|0,p=p+Math.imul(E0,o1)|0,m=m+Math.imul(E0,p1)|0,h=h+Math.imul(s0,i1)|0,p=p+Math.imul(s0,s1)|0,p=p+Math.imul(C0,i1)|0,m=m+Math.imul(C0,s1)|0,h=h+Math.imul(r0,O1)|0,p=p+Math.imul(r0,u1)|0,p=p+Math.imul(d0,O1)|0,m=m+Math.imul(d0,u1)|0,h=h+Math.imul(x,d1)|0,p=p+Math.imul(x,A1)|0,p=p+Math.imul(D,d1)|0,m=m+Math.imul(D,A1)|0,h=h+Math.imul(b0,f1)|0,p=p+Math.imul(b0,l1)|0,p=p+Math.imul(W,f1)|0,m=m+Math.imul(W,l1)|0;var Mb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Mb>>>26)|0,Mb&=67108863,h=Math.imul(Y0,r1),p=Math.imul(Y0,M1),p=p+Math.imul(K0,r1)|0,m=Math.imul(K0,M1),h=h+Math.imul(T0,o1)|0,p=p+Math.imul(T0,p1)|0,p=p+Math.imul(P0,o1)|0,m=m+Math.imul(P0,p1)|0,h=h+Math.imul(F0,i1)|0,p=p+Math.imul(F0,s1)|0,p=p+Math.imul(E0,i1)|0,m=m+Math.imul(E0,s1)|0,h=h+Math.imul(s0,O1)|0,p=p+Math.imul(s0,u1)|0,p=p+Math.imul(C0,O1)|0,m=m+Math.imul(C0,u1)|0,h=h+Math.imul(r0,d1)|0,p=p+Math.imul(r0,A1)|0,p=p+Math.imul(d0,d1)|0,m=m+Math.imul(d0,A1)|0,h=h+Math.imul(x,f1)|0,p=p+Math.imul(x,l1)|0,p=p+Math.imul(D,f1)|0,m=m+Math.imul(D,l1)|0;var ob=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(ob>>>26)|0,ob&=67108863,h=Math.imul(Y0,o1),p=Math.imul(Y0,p1),p=p+Math.imul(K0,o1)|0,m=Math.imul(K0,p1),h=h+Math.imul(T0,i1)|0,p=p+Math.imul(T0,s1)|0,p=p+Math.imul(P0,i1)|0,m=m+Math.imul(P0,s1)|0,h=h+Math.imul(F0,O1)|0,p=p+Math.imul(F0,u1)|0,p=p+Math.imul(E0,O1)|0,m=m+Math.imul(E0,u1)|0,h=h+Math.imul(s0,d1)|0,p=p+Math.imul(s0,A1)|0,p=p+Math.imul(C0,d1)|0,m=m+Math.imul(C0,A1)|0,h=h+Math.imul(r0,f1)|0,p=p+Math.imul(r0,l1)|0,p=p+Math.imul(d0,f1)|0,m=m+Math.imul(d0,l1)|0;var pb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(pb>>>26)|0,pb&=67108863,h=Math.imul(Y0,i1),p=Math.imul(Y0,s1),p=p+Math.imul(K0,i1)|0,m=Math.imul(K0,s1),h=h+Math.imul(T0,O1)|0,p=p+Math.imul(T0,u1)|0,p=p+Math.imul(P0,O1)|0,m=m+Math.imul(P0,u1)|0,h=h+Math.imul(F0,d1)|0,p=p+Math.imul(F0,A1)|0,p=p+Math.imul(E0,d1)|0,m=m+Math.imul(E0,A1)|0,h=h+Math.imul(s0,f1)|0,p=p+Math.imul(s0,l1)|0,p=p+Math.imul(C0,f1)|0,m=m+Math.imul(C0,l1)|0;var ib=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(ib>>>26)|0,ib&=67108863,h=Math.imul(Y0,O1),p=Math.imul(Y0,u1),p=p+Math.imul(K0,O1)|0,m=Math.imul(K0,u1),h=h+Math.imul(T0,d1)|0,p=p+Math.imul(T0,A1)|0,p=p+Math.imul(P0,d1)|0,m=m+Math.imul(P0,A1)|0,h=h+Math.imul(F0,f1)|0,p=p+Math.imul(F0,l1)|0,p=p+Math.imul(E0,f1)|0,m=m+Math.imul(E0,l1)|0;var sb=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(sb>>>26)|0,sb&=67108863,h=Math.imul(Y0,d1),p=Math.imul(Y0,A1),p=p+Math.imul(K0,d1)|0,m=Math.imul(K0,A1),h=h+Math.imul(T0,f1)|0,p=p+Math.imul(T0,l1)|0,p=p+Math.imul(P0,f1)|0,m=m+Math.imul(P0,l1)|0;var Ob=(N+h|0)+((p&8191)<<13)|0;N=(m+(p>>>13)|0)+(Ob>>>26)|0,Ob&=67108863,h=Math.imul(Y0,f1),p=Math.imul(Y0,l1),p=p+Math.imul(K0,f1)|0,m=Math.imul(K0,l1);var ub=(N+h|0)+((p&8191)<<13)|0;return N=(m+(p>>>13)|0)+(ub>>>26)|0,ub&=67108863,L[0]=Gc,L[1]=Vc,L[2]=Qc,L[3]=Zc,L[4]=eb,L[5]=nb,L[6]=tb,L[7]=cb,L[8]=bb,L[9]=zb,L[10]=ab,L[11]=rb,L[12]=Mb,L[13]=ob,L[14]=pb,L[15]=ib,L[16]=sb,L[17]=Ob,L[18]=ub,N!==0&&(L[19]=N,d.length++),d};Math.imul||(y=_);function w(q,M,s){s.negative=M.negative^q.negative,s.length=q.length+M.length;for(var d=0,f=0,g=0;g>>26)|0,f+=L>>>26,L&=67108863}s.words[g]=N,d=L,L=f}return d!==0?s.words[g]=d:s.length--,s.strip()}function k(q,M,s){var d=new S;return d.mulp(q,M,s)}z.prototype.mulTo=function(M,s){var d,f=this.length+M.length;return this.length===10&&M.length===10?d=y(this,M,s):f<63?d=_(this,M,s):f<1024?d=w(this,M,s):d=k(this,M,s),d};function S(q,M){this.x=q,this.y=M}S.prototype.makeRBT=function(M){for(var s=new Array(M),d=z.prototype._countBits(M)-1,f=0;f>=1;return f},S.prototype.permute=function(M,s,d,f,g,L){for(var N=0;N>>1)g++;return 1<>>13,d[2*L+1]=g&8191,g=g>>>13;for(L=2*s;L>=26,s+=f/67108864|0,s+=g>>>26,this.words[d]=g&67108863}return s!==0&&(this.words[d]=s,this.length++),this},z.prototype.muln=function(M){return this.clone().imuln(M)},z.prototype.sqr=function(){return this.mul(this)},z.prototype.isqr=function(){return this.imul(this.clone())},z.prototype.pow=function(M){var s=R(M);if(s.length===0)return new z(1);for(var d=this,f=0;f=0);var s=M%26,d=(M-s)/26,f=67108863>>>26-s<<26-s,g;if(s!==0){var L=0;for(g=0;g>>26-s}L&&(this.words[g]=L,this.length++)}if(d!==0){for(g=this.length-1;g>=0;g--)this.words[g+d]=this.words[g];for(g=0;g=0);var f;s?f=(s-s%26)/26:f=0;var g=M%26,L=Math.min((M-g)/26,this.length),N=67108863^67108863>>>g<L)for(this.length-=L,p=0;p=0&&(m!==0||p>=f);p--){var J=this.words[p]|0;this.words[p]=m<<26-g|J>>>g,m=J&N}return h&&m!==0&&(h.words[h.length++]=m),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},z.prototype.ishrn=function(M,s,d){return c(this.negative===0),this.iushrn(M,s,d)},z.prototype.shln=function(M){return this.clone().ishln(M)},z.prototype.ushln=function(M){return this.clone().iushln(M)},z.prototype.shrn=function(M){return this.clone().ishrn(M)},z.prototype.ushrn=function(M){return this.clone().iushrn(M)},z.prototype.testn=function(M){c(typeof M=="number"&&M>=0);var s=M%26,d=(M-s)/26,f=1<=0);var s=M%26,d=(M-s)/26;if(c(this.negative===0,"imaskn works only with positive numbers"),this.length<=d)return this;if(s!==0&&d++,this.length=Math.min(d,this.length),s!==0){var f=67108863^67108863>>>s<=67108864;s++)this.words[s]-=67108864,s===this.length-1?this.words[s+1]=1:this.words[s+1]++;return this.length=Math.max(this.length,s+1),this},z.prototype.isubn=function(M){if(c(typeof M=="number"),c(M<67108864),M<0)return this.iaddn(-M);if(this.negative!==0)return this.negative=0,this.iaddn(M),this.negative=1,this;if(this.words[0]-=M,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var s=0;s>26)-(h/67108864|0),this.words[g+d]=L&67108863}for(;g>26,this.words[g+d]=L&67108863;if(N===0)return this.strip();for(c(N===-1),N=0,g=0;g>26,this.words[g]=L&67108863;return this.negative=1,this.strip()},z.prototype._wordDiv=function(M,s){var d=this.length-M.length,f=this.clone(),g=M,L=g.words[g.length-1]|0,N=this._countBits(L);d=26-N,d!==0&&(g=g.ushln(d),f.iushln(d),L=g.words[g.length-1]|0);var h=f.length-g.length,p;if(s!=="mod"){p=new z(null),p.length=h+1,p.words=new Array(p.length);for(var m=0;m=0;$--){var V=(f.words[g.length+$]|0)*67108864+(f.words[g.length+$-1]|0);for(V=Math.min(V/L|0,67108863),f._ishlnsubmul(g,V,$);f.negative!==0;)V--,f.negative=0,f._ishlnsubmul(g,1,$),f.isZero()||(f.negative^=1);p&&(p.words[$]=V)}return p&&p.strip(),f.strip(),s!=="div"&&d!==0&&f.iushrn(d),{div:p||null,mod:f}},z.prototype.divmod=function(M,s,d){if(c(!M.isZero()),this.isZero())return{div:new z(0),mod:new z(0)};var f,g,L;return this.negative!==0&&M.negative===0?(L=this.neg().divmod(M,s),s!=="mod"&&(f=L.div.neg()),s!=="div"&&(g=L.mod.neg(),d&&g.negative!==0&&g.iadd(M)),{div:f,mod:g}):this.negative===0&&M.negative!==0?(L=this.divmod(M.neg(),s),s!=="mod"&&(f=L.div.neg()),{div:f,mod:L.mod}):this.negative&M.negative?(L=this.neg().divmod(M.neg(),s),s!=="div"&&(g=L.mod.neg(),d&&g.negative!==0&&g.isub(M)),{div:L.div,mod:g}):M.length>this.length||this.cmp(M)<0?{div:new z(0),mod:this}:M.length===1?s==="div"?{div:this.divn(M.words[0]),mod:null}:s==="mod"?{div:null,mod:new z(this.modn(M.words[0]))}:{div:this.divn(M.words[0]),mod:new z(this.modn(M.words[0]))}:this._wordDiv(M,s)},z.prototype.div=function(M){return this.divmod(M,"div",!1).div},z.prototype.mod=function(M){return this.divmod(M,"mod",!1).mod},z.prototype.umod=function(M){return this.divmod(M,"mod",!0).mod},z.prototype.divRound=function(M){var s=this.divmod(M);if(s.mod.isZero())return s.div;var d=s.div.negative!==0?s.mod.isub(M):s.mod,f=M.ushrn(1),g=M.andln(1),L=d.cmp(f);return L<0||g===1&&L===0?s.div:s.div.negative!==0?s.div.isubn(1):s.div.iaddn(1)},z.prototype.modn=function(M){c(M<=67108863);for(var s=(1<<26)%M,d=0,f=this.length-1;f>=0;f--)d=(s*d+(this.words[f]|0))%M;return d},z.prototype.idivn=function(M){c(M<=67108863);for(var s=0,d=this.length-1;d>=0;d--){var f=(this.words[d]|0)+s*67108864;this.words[d]=f/M|0,s=f%M}return this.strip()},z.prototype.divn=function(M){return this.clone().idivn(M)},z.prototype.egcd=function(M){c(M.negative===0),c(!M.isZero());var s=this,d=M.clone();s.negative!==0?s=s.umod(M):s=s.clone();for(var f=new z(1),g=new z(0),L=new z(0),N=new z(1),h=0;s.isEven()&&d.isEven();)s.iushrn(1),d.iushrn(1),++h;for(var p=d.clone(),m=s.clone();!s.isZero();){for(var J=0,$=1;!(s.words[0]&$)&&J<26;++J,$<<=1);if(J>0)for(s.iushrn(J);J-- >0;)(f.isOdd()||g.isOdd())&&(f.iadd(p),g.isub(m)),f.iushrn(1),g.iushrn(1);for(var V=0,z0=1;!(d.words[0]&z0)&&V<26;++V,z0<<=1);if(V>0)for(d.iushrn(V);V-- >0;)(L.isOdd()||N.isOdd())&&(L.iadd(p),N.isub(m)),L.iushrn(1),N.iushrn(1);s.cmp(d)>=0?(s.isub(d),f.isub(L),g.isub(N)):(d.isub(s),L.isub(f),N.isub(g))}return{a:L,b:N,gcd:d.iushln(h)}},z.prototype._invmp=function(M){c(M.negative===0),c(!M.isZero());var s=this,d=M.clone();s.negative!==0?s=s.umod(M):s=s.clone();for(var f=new z(1),g=new z(0),L=d.clone();s.cmpn(1)>0&&d.cmpn(1)>0;){for(var N=0,h=1;!(s.words[0]&h)&&N<26;++N,h<<=1);if(N>0)for(s.iushrn(N);N-- >0;)f.isOdd()&&f.iadd(L),f.iushrn(1);for(var p=0,m=1;!(d.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(d.iushrn(p);p-- >0;)g.isOdd()&&g.iadd(L),g.iushrn(1);s.cmp(d)>=0?(s.isub(d),f.isub(g)):(d.isub(s),g.isub(f))}var J;return s.cmpn(1)===0?J=f:J=g,J.cmpn(0)<0&&J.iadd(M),J},z.prototype.gcd=function(M){if(this.isZero())return M.abs();if(M.isZero())return this.abs();var s=this.clone(),d=M.clone();s.negative=0,d.negative=0;for(var f=0;s.isEven()&&d.isEven();f++)s.iushrn(1),d.iushrn(1);do{for(;s.isEven();)s.iushrn(1);for(;d.isEven();)d.iushrn(1);var g=s.cmp(d);if(g<0){var L=s;s=d,d=L}else if(g===0||d.cmpn(1)===0)break;s.isub(d)}while(!0);return d.iushln(f)},z.prototype.invm=function(M){return this.egcd(M).a.umod(M)},z.prototype.isEven=function(){return(this.words[0]&1)===0},z.prototype.isOdd=function(){return(this.words[0]&1)===1},z.prototype.andln=function(M){return this.words[0]&M},z.prototype.bincn=function(M){c(typeof M=="number");var s=M%26,d=(M-s)/26,f=1<>>26,N&=67108863,this.words[L]=N}return g!==0&&(this.words[L]=g,this.length++),this},z.prototype.isZero=function(){return this.length===1&&this.words[0]===0},z.prototype.cmpn=function(M){var s=M<0;if(this.negative!==0&&!s)return-1;if(this.negative===0&&s)return 1;this.strip();var d;if(this.length>1)d=1;else{s&&(M=-M),c(M<=67108863,"Number is too big");var f=this.words[0]|0;d=f===M?0:fM.length)return 1;if(this.length=0;d--){var f=this.words[d]|0,g=M.words[d]|0;if(f!==g){fg&&(s=1);break}}return s},z.prototype.gtn=function(M){return this.cmpn(M)===1},z.prototype.gt=function(M){return this.cmp(M)===1},z.prototype.gten=function(M){return this.cmpn(M)>=0},z.prototype.gte=function(M){return this.cmp(M)>=0},z.prototype.ltn=function(M){return this.cmpn(M)===-1},z.prototype.lt=function(M){return this.cmp(M)===-1},z.prototype.lten=function(M){return this.cmpn(M)<=0},z.prototype.lte=function(M){return this.cmp(M)<=0},z.prototype.eqn=function(M){return this.cmpn(M)===0},z.prototype.eq=function(M){return this.cmp(M)===0},z.red=function(M){return new e0(M)},z.prototype.toRed=function(M){return c(!this.red,"Already a number in reduction context"),c(this.negative===0,"red works only with positives"),M.convertTo(this)._forceRed(M)},z.prototype.fromRed=function(){return c(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},z.prototype._forceRed=function(M){return this.red=M,this},z.prototype.forceRed=function(M){return c(!this.red,"Already a number in reduction context"),this._forceRed(M)},z.prototype.redAdd=function(M){return c(this.red,"redAdd works only with red numbers"),this.red.add(this,M)},z.prototype.redIAdd=function(M){return c(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,M)},z.prototype.redSub=function(M){return c(this.red,"redSub works only with red numbers"),this.red.sub(this,M)},z.prototype.redISub=function(M){return c(this.red,"redISub works only with red numbers"),this.red.isub(this,M)},z.prototype.redShl=function(M){return c(this.red,"redShl works only with red numbers"),this.red.shl(this,M)},z.prototype.redMul=function(M){return c(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.mul(this,M)},z.prototype.redIMul=function(M){return c(this.red,"redMul works only with red numbers"),this.red._verify2(this,M),this.red.imul(this,M)},z.prototype.redSqr=function(){return c(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},z.prototype.redISqr=function(){return c(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},z.prototype.redSqrt=function(){return c(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},z.prototype.redInvm=function(){return c(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},z.prototype.redNeg=function(){return c(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},z.prototype.redPow=function(M){return c(this.red&&!M.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,M)};var C={k256:null,p224:null,p192:null,p25519:null};function F(q,M){this.name=q,this.p=new z(M,16),this.n=this.p.bitLength(),this.k=new z(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}F.prototype._tmp=function(){var M=new z(null);return M.words=new Array(Math.ceil(this.n/13)),M},F.prototype.ireduce=function(M){var s=M,d;do this.split(s,this.tmp),s=this.imulK(s),s=s.iadd(this.tmp),d=s.bitLength();while(d>this.n);var f=d0?s.isub(this.p):s.strip!==void 0?s.strip():s._strip(),s},F.prototype.split=function(M,s){M.iushrn(this.n,0,s)},F.prototype.imulK=function(M){return M.imul(this.k)};function G(){F.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}b(G,F),G.prototype.split=function(M,s){for(var d=4194303,f=Math.min(M.length,9),g=0;g>>22,L=N}L>>>=22,M.words[g-10]=L,L===0&&M.length>10?M.length-=10:M.length-=9},G.prototype.imulK=function(M){M.words[M.length]=0,M.words[M.length+1]=0,M.length+=2;for(var s=0,d=0;d>>=26,M.words[d]=g,s=f}return s!==0&&(M.words[M.length++]=s),M},z._prime=function(M){if(C[M])return C[M];var s;if(M==="k256")s=new G;else if(M==="p224")s=new Y;else if(M==="p192")s=new K;else if(M==="p25519")s=new p0;else throw new Error("Unknown prime "+M);return C[M]=s,s};function e0(q){if(typeof q=="string"){var M=z._prime(q);this.m=M.p,this.prime=M}else c(q.gtn(1),"modulus must be greater than 1"),this.m=q,this.prime=null}e0.prototype._verify1=function(M){c(M.negative===0,"red works only with positives"),c(M.red,"red works only with red numbers")},e0.prototype._verify2=function(M,s){c((M.negative|s.negative)===0,"red works only with positives"),c(M.red&&M.red===s.red,"red works only with red numbers")},e0.prototype.imod=function(M){return this.prime?this.prime.ireduce(M)._forceRed(this):M.umod(this.m)._forceRed(this)},e0.prototype.neg=function(M){return M.isZero()?M.clone():this.m.sub(M)._forceRed(this)},e0.prototype.add=function(M,s){this._verify2(M,s);var d=M.add(s);return d.cmp(this.m)>=0&&d.isub(this.m),d._forceRed(this)},e0.prototype.iadd=function(M,s){this._verify2(M,s);var d=M.iadd(s);return d.cmp(this.m)>=0&&d.isub(this.m),d},e0.prototype.sub=function(M,s){this._verify2(M,s);var d=M.sub(s);return d.cmpn(0)<0&&d.iadd(this.m),d._forceRed(this)},e0.prototype.isub=function(M,s){this._verify2(M,s);var d=M.isub(s);return d.cmpn(0)<0&&d.iadd(this.m),d},e0.prototype.shl=function(M,s){return this._verify1(M),this.imod(M.ushln(s))},e0.prototype.imul=function(M,s){return this._verify2(M,s),this.imod(M.imul(s))},e0.prototype.mul=function(M,s){return this._verify2(M,s),this.imod(M.mul(s))},e0.prototype.isqr=function(M){return this.imul(M,M.clone())},e0.prototype.sqr=function(M){return this.mul(M,M)},e0.prototype.sqrt=function(M){if(M.isZero())return M.clone();var s=this.m.andln(3);if(c(s%2===1),s===3){var d=this.m.add(new z(1)).iushrn(2);return this.pow(M,d)}for(var f=this.m.subn(1),g=0;!f.isZero()&&f.andln(1)===0;)g++,f.iushrn(1);c(!f.isZero());var L=new z(1).toRed(this),N=L.redNeg(),h=this.m.subn(1).iushrn(1),p=this.m.bitLength();for(p=new z(2*p*p).toRed(this);this.pow(p,h).cmp(N)!==0;)p.redIAdd(N);for(var m=this.pow(p,f),J=this.pow(M,f.addn(1).iushrn(1)),$=this.pow(M,f),V=g;$.cmp(L)!==0;){for(var z0=$,a0=0;z0.cmp(L)!==0;a0++)z0=z0.redSqr();c(a0=0;g--){for(var m=s.words[g],J=p-1;J>=0;J--){var $=m>>J&1;if(L!==f[0]&&(L=this.sqr(L)),$===0&&N===0){h=0;continue}N<<=1,N|=$,h++,!(h!==d&&(g!==0||J!==0))&&(L=this.mul(L,f[N]),h=0,N=0)}p=26}return L},e0.prototype.convertTo=function(M){var s=M.umod(this.m);return s===M?s.clone():s},e0.prototype.convertFrom=function(M){var s=M.clone();return s.red=null,s},z.mont=function(M){return new E(M)};function E(q){e0.call(this,q),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new z(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b(E,e0),E.prototype.convertTo=function(M){return this.imod(M.ushln(this.shift))},E.prototype.convertFrom=function(M){var s=this.imod(M.mul(this.rinv));return s.red=null,s},E.prototype.imul=function(M,s){if(M.isZero()||s.isZero())return M.words[0]=0,M.length=1,M;var d=M.imul(s),f=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=d.isub(f).iushrn(this.shift),L=g;return g.cmp(this.m)>=0?L=g.isub(this.m):g.cmpn(0)<0&&(L=g.iadd(this.m)),L._forceRed(this)},E.prototype.mul=function(M,s){if(M.isZero()||s.isZero())return new z(0)._forceRed(this);var d=M.mul(s),f=d.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=d.isub(f).iushrn(this.shift),L=g;return g.cmp(this.m)>=0?L=g.isub(this.m):g.cmpn(0)<0&&(L=g.iadd(this.m)),L._forceRed(this)},E.prototype.invm=function(M){var s=this.imod(M._invmp(this.m).mul(this.r2));return s._forceRed(this)}})(n,tM)})(Gz);var i2=Gz.exports,I2=Fo;function Fo(n,e){if(!n)throw new Error(e||"Assertion failed")}Fo.equal=function(e,t,c){if(e!=t)throw new Error(c||"Assertion failed: "+e+" != "+t)};var Vz={};(function(n){var e=n;function t(z,a){if(Array.isArray(z))return z.slice();if(!z)return[];var r=[];if(typeof z!="string"){for(var o=0;o>8,u=i&255;O?r.push(O,u):r.push(u)}return r}e.toArray=t;function c(z){return z.length===1?"0"+z:z}e.zero2=c;function b(z){for(var a="",r=0;r(y>>1)-1?k=(y>>1)-S:k=S,w.isubn(k)):k=0,R[_]=k,w.iushrn(1)}return R}e.getNAF=z;function a(O,u){var l=[[],[]];O=O.clone(),u=u.clone();for(var R=0,_=0,y;O.cmpn(-R)>0||u.cmpn(-_)>0;){var w=O.andln(3)+R&3,k=u.andln(3)+_&3;w===3&&(w=-1),k===3&&(k=-1);var S;w&1?(y=O.andln(7)+R&7,(y===3||y===5)&&k===2?S=-w:S=w):S=0,l[0].push(S);var C;k&1?(y=u.andln(7)+_&7,(y===3||y===5)&&w===2?C=-k:C=k):C=0,l[1].push(C),2*R===S+1&&(R=1-R),2*_===C+1&&(_=1-_),O.iushrn(1),u.iushrn(1)}return l}e.getJSF=a;function r(O,u,l){var R="_"+u;O.prototype[u]=function(){return this[R]!==void 0?this[R]:this[R]=l.call(this)}}e.cachedProperty=r;function o(O){return typeof O=="string"?e.toArray(O,"hex"):O}e.parseBytes=o;function i(O){return new t(O,"hex","le")}e.intFromLE=i})(be);var Qz={exports:{}},_b;Qz.exports=function(e){return _b||(_b=new f2(null)),_b.generate(e)};function f2(n){this.rand=n}Qz.exports.Rand=f2;f2.prototype.generate=function(e){return this._rand(e)};f2.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),c=0;c0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Tc=m2;m2.prototype.point=function(){throw new Error("Not implemented")};m2.prototype.validate=function(){throw new Error("Not implemented")};m2.prototype._fixedNafMul=function(e,t){ic(e.precomputed);var c=e._getDoubles(),b=pc(t,1,this._bitLength),z=(1<=r;i--)o=(o<<1)+b[i];a.push(o)}for(var O=this.jpoint(null,null,null),u=this.jpoint(null,null,null),l=z;l>0;l--){for(r=0;r=0;o--){for(var i=0;o>=0&&a[o]===0;o--)i++;if(o>=0&&i++,r=r.dblp(i),o<0)break;var O=a[o];ic(O!==0),e.type==="affine"?O>0?r=r.mixedAdd(z[O-1>>1]):r=r.mixedAdd(z[-O-1>>1].neg()):O>0?r=r.add(z[O-1>>1]):r=r.add(z[-O-1>>1].neg())}return e.type==="affine"?r.toP():r};m2.prototype._wnafMulAdd=function(e,t,c,b,z){var a=this._wnafT1,r=this._wnafT2,o=this._wnafT3,i=0,O,u,l;for(O=0;O=1;O-=2){var _=O-1,y=O;if(a[_]!==1||a[y]!==1){o[_]=pc(c[_],a[_],this._bitLength),o[y]=pc(c[y],a[y],this._bitLength),i=Math.max(o[_].length,i),i=Math.max(o[y].length,i);continue}var w=[t[_],null,null,t[y]];t[_].y.cmp(t[y].y)===0?(w[1]=t[_].add(t[y]),w[2]=t[_].toJ().mixedAdd(t[y].neg())):t[_].y.cmp(t[y].y.redNeg())===0?(w[1]=t[_].toJ().mixedAdd(t[y]),w[2]=t[_].add(t[y].neg())):(w[1]=t[_].toJ().mixedAdd(t[y]),w[2]=t[_].toJ().mixedAdd(t[y].neg()));var k=[-3,-1,-5,-7,0,7,5,1,3],S=pl(c[_],c[y]);for(i=Math.max(S[0].length,i),o[_]=new Array(i),o[y]=new Array(i),u=0;u=0;O--){for(var K=0;O>=0;){var p0=!0;for(u=0;u=0&&K++,G=G.dblp(K),O<0)break;for(u=0;u0?l=r[u][e0-1>>1]:e0<0&&(l=r[u][-e0-1>>1].neg()),l.type==="affine"?G=G.mixedAdd(l):G=G.add(l))}}for(O=0;O=Math.ceil((e.bitLength()+1)/t.step):!1};ie.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var c=[this],b=this,z=0;z=0&&(R=i,_=O),u.negative&&(u=u.neg(),l=l.neg()),R.negative&&(R=R.neg(),_=_.neg()),[{a:u,b:l},{a:R,b:_}]};se.prototype._endoSplit=function(e){var t=this.endo.basis,c=t[0],b=t[1],z=b.b.mul(e).divRound(this.n),a=c.b.neg().mul(e).divRound(this.n),r=z.mul(c.a),o=a.mul(b.a),i=z.mul(c.b),O=a.mul(b.b),u=e.sub(r).sub(o),l=i.add(O).neg();return{k1:u,k2:l}};se.prototype.pointFromX=function(e,t){e=new b1(e,16),e.red||(e=e.toRed(this.red));var c=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),b=c.redSqrt();if(b.redSqr().redSub(c).cmp(this.zero)!==0)throw new Error("invalid point");var z=b.fromRed().isOdd();return(t&&!z||!t&&z)&&(b=b.redNeg()),this.point(e,b)};se.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,c=e.y,b=this.a.redMul(t),z=t.redSqr().redMul(t).redIAdd(b).redIAdd(this.b);return c.redSqr().redISub(z).cmpn(0)===0};se.prototype._endoWnafMulAdd=function(e,t,c){for(var b=this._endoWnafT1,z=this._endoWnafT2,a=0;a":""};v1.prototype.isInfinity=function(){return this.inf};v1.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);t.cmpn(0)!==0&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var c=t.redSqr().redISub(this.x).redISub(e.x),b=t.redMul(this.x.redSub(c)).redISub(this.y);return this.curve.point(c,b)};v1.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a,c=this.x.redSqr(),b=e.redInvm(),z=c.redAdd(c).redIAdd(c).redIAdd(t).redMul(b),a=z.redSqr().redISub(this.x.redAdd(this.x)),r=z.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,r)};v1.prototype.getX=function(){return this.x.fromRed()};v1.prototype.getY=function(){return this.y.fromRed()};v1.prototype.mul=function(e){return e=new b1(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)};v1.prototype.mulAdd=function(e,t,c){var b=[this,t],z=[e,c];return this.curve.endo?this.curve._endoWnafMulAdd(b,z):this.curve._wnafMulAdd(1,b,z,2)};v1.prototype.jmulAdd=function(e,t,c){var b=[this,t],z=[e,c];return this.curve.endo?this.curve._endoWnafMulAdd(b,z,!0):this.curve._wnafMulAdd(1,b,z,2,!0)};v1.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};v1.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var c=this.precomputed,b=function(z){return z.neg()};t.precomputed={naf:c.naf&&{wnd:c.naf.wnd,points:c.naf.points.map(b)},doubles:c.doubles&&{step:c.doubles.step,points:c.doubles.points.map(b)}}}return t};v1.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function C1(n,e,t,c){Rn.BasePoint.call(this,n,"jacobian"),e===null&&t===null&&c===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new b1(0)):(this.x=new b1(e,16),this.y=new b1(t,16),this.z=new b1(c,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}ea(C1,Rn.BasePoint);se.prototype.jpoint=function(e,t,c){return new C1(this,e,t,c)};C1.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),c=this.x.redMul(t),b=this.y.redMul(t).redMul(e);return this.curve.point(c,b)};C1.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};C1.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),c=this.z.redSqr(),b=this.x.redMul(t),z=e.x.redMul(c),a=this.y.redMul(t.redMul(e.z)),r=e.y.redMul(c.redMul(this.z)),o=b.redSub(z),i=a.redSub(r);if(o.cmpn(0)===0)return i.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var O=o.redSqr(),u=O.redMul(o),l=b.redMul(O),R=i.redSqr().redIAdd(u).redISub(l).redISub(l),_=i.redMul(l.redISub(R)).redISub(a.redMul(u)),y=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(R,_,y)};C1.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),c=this.x,b=e.x.redMul(t),z=this.y,a=e.y.redMul(t).redMul(this.z),r=c.redSub(b),o=z.redSub(a);if(r.cmpn(0)===0)return o.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var i=r.redSqr(),O=i.redMul(r),u=c.redMul(i),l=o.redSqr().redIAdd(O).redISub(u).redISub(u),R=o.redMul(u.redISub(l)).redISub(z.redMul(O)),_=this.z.redMul(r);return this.curve.jpoint(l,R,_)};C1.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var t;if(this.curve.zeroA||this.curve.threeA){var c=this;for(t=0;t=0)return!1;if(c.redIAdd(z),this.x.cmp(c)===0)return!0}};C1.prototype.inspect=function(){return this.isInfinity()?"":""};C1.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var cn=i2,Ho=Xc,kc=Tc,ul=be;function _n(n){kc.call(this,"mont",n),this.a=new cn(n.a,16).toRed(this.red),this.b=new cn(n.b,16).toRed(this.red),this.i4=new cn(4).toRed(this.red).redInvm(),this.two=new cn(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Ho(_n,kc);var dl=_n;_n.prototype.validate=function(e){var t=e.normalize().x,c=t.redSqr(),b=c.redMul(t).redAdd(c.redMul(this.a)).redAdd(t),z=b.redSqrt();return z.redSqr().cmp(b)===0};function B1(n,e,t){kc.BasePoint.call(this,n,"projective"),e===null&&t===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new cn(e,16),this.z=new cn(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Ho(B1,kc.BasePoint);_n.prototype.decodePoint=function(e,t){return this.point(ul.toArray(e,t),1)};_n.prototype.point=function(e,t){return new B1(this,e,t)};_n.prototype.pointFromJSON=function(e){return B1.fromJSON(this,e)};B1.prototype.precompute=function(){};B1.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())};B1.fromJSON=function(e,t){return new B1(e,t[0],t[1]||e.one)};B1.prototype.inspect=function(){return this.isInfinity()?"":""};B1.prototype.isInfinity=function(){return this.z.cmpn(0)===0};B1.prototype.dbl=function(){var e=this.x.redAdd(this.z),t=e.redSqr(),c=this.x.redSub(this.z),b=c.redSqr(),z=t.redSub(b),a=t.redMul(b),r=z.redMul(b.redAdd(this.curve.a24.redMul(z)));return this.curve.point(a,r)};B1.prototype.add=function(){throw new Error("Not supported on Montgomery curve")};B1.prototype.diffAdd=function(e,t){var c=this.x.redAdd(this.z),b=this.x.redSub(this.z),z=e.x.redAdd(e.z),a=e.x.redSub(e.z),r=a.redMul(c),o=z.redMul(b),i=t.z.redMul(r.redAdd(o).redSqr()),O=t.x.redMul(r.redISub(o).redSqr());return this.curve.point(i,O)};B1.prototype.mul=function(e){for(var t=e.clone(),c=this,b=this.curve.point(null,null),z=this,a=[];t.cmpn(0)!==0;t.iushrn(1))a.push(t.andln(1));for(var r=a.length-1;r>=0;r--)a[r]===0?(c=c.diffAdd(b,z),b=b.dbl()):(b=c.diffAdd(b,z),c=c.dbl());return b};B1.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")};B1.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")};B1.prototype.eq=function(e){return this.getX().cmp(e.getX())===0};B1.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};B1.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Al=be,Ze=i2,$o=Xc,Cc=Tc,fl=Al.assert;function Fe(n){this.twisted=(n.a|0)!==1,this.mOneA=this.twisted&&(n.a|0)===-1,this.extended=this.mOneA,Cc.call(this,"edwards",n),this.a=new Ze(n.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Ze(n.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Ze(n.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),fl(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(n.c|0)===1}$o(Fe,Cc);var ll=Fe;Fe.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)};Fe.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)};Fe.prototype.jpoint=function(e,t,c,b){return this.point(e,t,c,b)};Fe.prototype.pointFromX=function(e,t){e=new Ze(e,16),e.red||(e=e.toRed(this.red));var c=e.redSqr(),b=this.c2.redSub(this.a.redMul(c)),z=this.one.redSub(this.c2.redMul(this.d).redMul(c)),a=b.redMul(z.redInvm()),r=a.redSqrt();if(r.redSqr().redSub(a).cmp(this.zero)!==0)throw new Error("invalid point");var o=r.fromRed().isOdd();return(t&&!o||!t&&o)&&(r=r.redNeg()),this.point(e,r)};Fe.prototype.pointFromY=function(e,t){e=new Ze(e,16),e.red||(e=e.toRed(this.red));var c=e.redSqr(),b=c.redSub(this.c2),z=c.redMul(this.d).redMul(this.c2).redSub(this.a),a=b.redMul(z.redInvm());if(a.cmp(this.zero)===0){if(t)throw new Error("invalid point");return this.point(this.zero,e)}var r=a.redSqrt();if(r.redSqr().redSub(a).cmp(this.zero)!==0)throw new Error("invalid point");return r.fromRed().isOdd()!==t&&(r=r.redNeg()),this.point(r,e)};Fe.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),c=e.y.redSqr(),b=t.redMul(this.a).redAdd(c),z=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(c)));return b.cmp(z)===0};function D0(n,e,t,c,b){Cc.BasePoint.call(this,n,"projective"),e===null&&t===null&&c===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Ze(e,16),this.y=new Ze(t,16),this.z=c?new Ze(c,16):this.curve.one,this.t=b&&new Ze(b,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}$o(D0,Cc.BasePoint);Fe.prototype.pointFromJSON=function(e){return D0.fromJSON(this,e)};Fe.prototype.point=function(e,t,c,b){return new D0(this,e,t,c,b)};D0.fromJSON=function(e,t){return new D0(e,t[0],t[1],t[2])};D0.prototype.inspect=function(){return this.isInfinity()?"":""};D0.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};D0.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var b=this.curve._mulA(e),z=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=b.redAdd(t),r=a.redSub(c),o=b.redSub(t),i=z.redMul(r),O=a.redMul(o),u=z.redMul(o),l=r.redMul(a);return this.curve.point(i,O,l,u)};D0.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),t=this.x.redSqr(),c=this.y.redSqr(),b,z,a,r,o,i;if(this.curve.twisted){r=this.curve._mulA(t);var O=r.redAdd(c);this.zOne?(b=e.redSub(t).redSub(c).redMul(O.redSub(this.curve.two)),z=O.redMul(r.redSub(c)),a=O.redSqr().redSub(O).redSub(O)):(o=this.z.redSqr(),i=O.redSub(o).redISub(o),b=e.redSub(t).redISub(c).redMul(i),z=O.redMul(r.redSub(c)),a=O.redMul(i))}else r=t.redAdd(c),o=this.curve._mulC(this.z).redSqr(),i=r.redSub(o).redSub(o),b=this.curve._mulC(e.redISub(r)).redMul(i),z=this.curve._mulC(r).redMul(t.redISub(c)),a=r.redMul(i);return this.curve.point(b,z,a)};D0.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()};D0.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),c=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),b=this.t.redMul(this.curve.dd).redMul(e.t),z=this.z.redMul(e.z.redAdd(e.z)),a=c.redSub(t),r=z.redSub(b),o=z.redAdd(b),i=c.redAdd(t),O=a.redMul(r),u=o.redMul(i),l=a.redMul(i),R=r.redMul(o);return this.curve.point(O,u,R,l)};D0.prototype._projAdd=function(e){var t=this.z.redMul(e.z),c=t.redSqr(),b=this.x.redMul(e.x),z=this.y.redMul(e.y),a=this.curve.d.redMul(b).redMul(z),r=c.redSub(a),o=c.redAdd(a),i=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(b).redISub(z),O=t.redMul(r).redMul(i),u,l;return this.curve.twisted?(u=t.redMul(o).redMul(z.redSub(this.curve._mulA(b))),l=r.redMul(o)):(u=t.redMul(o).redMul(z.redSub(b)),l=this.curve._mulC(r).redMul(o)),this.curve.point(O,u,l)};D0.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)};D0.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)};D0.prototype.mulAdd=function(e,t,c){return this.curve._wnafMulAdd(1,[this,t],[e,c],2,!1)};D0.prototype.jmulAdd=function(e,t,c){return this.curve._wnafMulAdd(1,[this,t],[e,c],2,!0)};D0.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this};D0.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};D0.prototype.getX=function(){return this.normalize(),this.x.fromRed()};D0.prototype.getY=function(){return this.normalize(),this.y.fromRed()};D0.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0};D0.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return!0;for(var c=e.clone(),b=this.curve.redN.redMul(this.z);;){if(c.iadd(this.curve.n),c.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(b),this.x.cmp(t)===0)return!0}};D0.prototype.toP=D0.prototype.normalize;D0.prototype.mixedAdd=D0.prototype.add;(function(n){var e=n;e.base=Tc,e.short=Ol,e.mont=dl,e.edwards=ll})(Zz);var jc={},Ic={},_0={},hl=I2,ql=Xc;_0.inherits=ql;function gl(n,e){return(n.charCodeAt(e)&64512)!==55296||e<0||e+1>=n.length?!1:(n.charCodeAt(e+1)&64512)===56320}function Wl(n,e){if(Array.isArray(n))return n.slice();if(!n)return[];var t=[];if(typeof n=="string")if(e){if(e==="hex")for(n=n.replace(/[^a-z0-9]+/ig,""),n.length%2!==0&&(n="0"+n),b=0;b>6|192,t[c++]=z&63|128):gl(n,b)?(z=65536+((z&1023)<<10)+(n.charCodeAt(++b)&1023),t[c++]=z>>18|240,t[c++]=z>>12&63|128,t[c++]=z>>6&63|128,t[c++]=z&63|128):(t[c++]=z>>12|224,t[c++]=z>>6&63|128,t[c++]=z&63|128)}else for(b=0;b>>24|n>>>8&65280|n<<8&16711680|(n&255)<<24;return e>>>0}_0.htonl=Jo;function Rl(n,e){for(var t="",c=0;c>>0}return z}_0.join32=_l;function yl(n,e){for(var t=new Array(n.length*4),c=0,b=0;c>>24,t[b+1]=z>>>16&255,t[b+2]=z>>>8&255,t[b+3]=z&255):(t[b+3]=z>>>24,t[b+2]=z>>>16&255,t[b+1]=z>>>8&255,t[b]=z&255)}return t}_0.split32=yl;function Ll(n,e){return n>>>e|n<<32-e}_0.rotr32=Ll;function Nl(n,e){return n<>>32-e}_0.rotl32=Nl;function wl(n,e){return n+e>>>0}_0.sum32=wl;function Bl(n,e,t){return n+e+t>>>0}_0.sum32_3=Bl;function vl(n,e,t,c){return n+e+t+c>>>0}_0.sum32_4=vl;function xl(n,e,t,c,b){return n+e+t+c+b>>>0}_0.sum32_5=xl;function Sl(n,e,t,c){var b=n[e],z=n[e+1],a=c+z>>>0,r=(a>>0,n[e+1]=a}_0.sum64=Sl;function Tl(n,e,t,c){var b=e+c>>>0,z=(b>>0}_0.sum64_hi=Tl;function Xl(n,e,t,c){var b=e+c;return b>>>0}_0.sum64_lo=Xl;function kl(n,e,t,c,b,z,a,r){var o=0,i=e;i=i+c>>>0,o+=i>>0,o+=i>>0,o+=i>>0}_0.sum64_4_hi=kl;function Cl(n,e,t,c,b,z,a,r){var o=e+c+z+r;return o>>>0}_0.sum64_4_lo=Cl;function jl(n,e,t,c,b,z,a,r,o,i){var O=0,u=e;u=u+c>>>0,O+=u>>0,O+=u>>0,O+=u>>0,O+=u>>0}_0.sum64_5_hi=jl;function Il(n,e,t,c,b,z,a,r,o,i){var O=e+c+z+r+i;return O>>>0}_0.sum64_5_lo=Il;function El(n,e,t){var c=e<<32-t|n>>>t;return c>>>0}_0.rotr64_hi=El;function Pl(n,e,t){var c=n<<32-t|e>>>t;return c>>>0}_0.rotr64_lo=Pl;function Dl(n,e,t){return n>>>t}_0.shr64_hi=Dl;function Fl(n,e,t){var c=n<<32-t|e>>>t;return c>>>0}_0.shr64_lo=Fl;var yn={},hr=_0,Ul=I2;function Ec(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}yn.BlockHash=Ec;Ec.prototype.update=function(e,t){if(e=hr.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var c=e.length%this._delta8;this.pending=e.slice(e.length-c,e.length),this.pending.length===0&&(this.pending=null),e=hr.join32(e,0,e.length-c,this.endian);for(var b=0;b>>24&255,b[z++]=e>>>16&255,b[z++]=e>>>8&255,b[z++]=e&255}else for(b[z++]=e&255,b[z++]=e>>>8&255,b[z++]=e>>>16&255,b[z++]=e>>>24&255,b[z++]=0,b[z++]=0,b[z++]=0,b[z++]=0,a=8;a>>3}Ue.g0_256=Kl;function Gl(n){return Se(n,17)^Se(n,19)^n>>>10}Ue.g1_256=Gl;var un=_0,Vl=yn,Ql=Ue,yb=un.rotl32,Xn=un.sum32,Zl=un.sum32_5,e4=Ql.ft_1,Zo=Vl.BlockHash,n4=[1518500249,1859775393,2400959708,3395469782];function Ce(){if(!(this instanceof Ce))return new Ce;Zo.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}un.inherits(Ce,Zo);var t4=Ce;Ce.blockSize=512;Ce.outSize=160;Ce.hmacStrength=80;Ce.padLength=64;Ce.prototype._update=function(e,t){for(var c=this.W,b=0;b<16;b++)c[b]=e[t+b];for(;bthis.blockSize&&(e=new this.Hash().update(e).digest()),F4(e.length<=this.blockSize);for(var t=e.length;t=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,t,c)}var J4=W2;W2.prototype._init=function(e,t,c){var b=e.concat(t).concat(c);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var z=0;z=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(c||[])),this._reseed=1};W2.prototype.generate=function(e,t,c,b){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof t!="string"&&(b=c,c=t,t=null),c&&(c=S2.toArray(c,b||"hex"),this._update(c));for(var z=[];z.length"};var sc=i2,na=be,V4=na.assert;function Pc(n,e){if(n instanceof Pc)return n;this._importDER(n,e)||(V4(n.r&&n.s,"Signature without r or s"),this.r=new sc(n.r,16),this.s=new sc(n.s,16),n.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=n.recoveryParam)}var Q4=Pc;function Z4(){this.place=0}function Bb(n,e){var t=n[e.place++];if(!(t&128))return t;var c=t&15;if(c===0||c>4||n[e.place]===0)return!1;for(var b=0,z=0,a=e.place;z>>=0;return b<=127?!1:(e.place=a,b)}function Rr(n){for(var e=0,t=n.length-1;!n[e]&&!(n[e+1]&128)&&e