diff --git a/CHANGELOG.md b/CHANGELOG.md
index 21ee720b1b..80d00046e5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -24,6 +24,7 @@ This is an alpha version! The changes listed here are not final.
- Add retry event for Brief
- AI Assistant: Add A8c dictionary
- AI Assistant: add AI Guidelines link to the AI Assistant sidebar panel
+- AI Assistant: Add FeatureControl to Write Brief
- AI Assistant: Add option to add word to spelling dictionary
- AI Assistant: Do not mark words starting with special characters as spelling mistakes
- AI Assistant: Fix flickering when adding word to Breve dictionary
diff --git a/_inc/blocks/editor-beta.asset.php b/_inc/blocks/editor-beta.asset.php
index a978c78ac9..25e429d45b 100644
--- a/_inc/blocks/editor-beta.asset.php
+++ b/_inc/blocks/editor-beta.asset.php
@@ -1 +1 @@
- array('jetpack-script-data', 'lodash', 'moment', 'react', 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-token-list', 'wp-url', 'wp-viewport', 'wp-widgets', 'wp-wordcount'), 'version' => '085a56f80b46ffafb632');
+ array('jetpack-script-data', 'lodash', 'moment', 'react', 'react-dom', 'react-jsx-runtime', 'wp-a11y', 'wp-api-fetch', 'wp-blob', 'wp-block-editor', 'wp-block-serialization-default-parser', 'wp-blocks', 'wp-commands', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-dom-ready', 'wp-edit-post', 'wp-editor', 'wp-element', 'wp-escape-html', 'wp-hooks', 'wp-html-entities', 'wp-i18n', 'wp-keycodes', 'wp-media-utils', 'wp-notices', 'wp-plugins', 'wp-polyfill', 'wp-primitives', 'wp-rich-text', 'wp-token-list', 'wp-url', 'wp-viewport', 'wp-widgets', 'wp-wordcount'), 'version' => '980be369b3a62d973a9c');
diff --git a/_inc/blocks/editor-beta.js b/_inc/blocks/editor-beta.js
index 0749fff62e..70202e5c69 100644
--- a/_inc/blocks/editor-beta.js
+++ b/_inc/blocks/editor-beta.js
@@ -5,7 +5,7 @@ __("You have %1$d requests remaining.","jetpack"),e)),React.createElement(r.Butt
// translators: %1$d: A dynamic error message
__("Error: %1$s","jetpack"),i)),t===d.Or?React.createElement(r.Button,{variant:"link",onClick:a,href:o,target:o?"_blank":null},__("Upgrade now","jetpack")):React.createElement(r.Button,{variant:"link",onClick:n},__("Try again","jetpack")))}},2166:(e,t,n)=>{"use strict";n.d(t,{R:()=>o,_:()=>s});var r=n(51609),a=n.n(r);const s=(0,r.createContext)({}),o=({value:e,children:t})=>a().createElement(s.Provider,{value:e,children:t})},13965:(e,t,n)=>{"use strict";n.d(t,{Rb:()=>r.R,Z2:()=>s.A,_z:()=>r._,cQ:()=>a.A});var r=n(2166),a=n(59886),s=n(53471)},53471:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(51609),a=n(78836),s=n(13965);function o({onDone:e,onSuggestion:t,onError:n}={}){const o=(0,r.useContext)(s._z),{eventSource:i}=o,c=(0,r.useCallback)((t=>e?.(t?.detail)),[e]),l=(0,r.useCallback)((e=>t?.(e?.detail)),[t]),u=(0,r.useCallback)((e=>{n?.(e?.detail)}),[]);return(0,r.useEffect)((()=>{if(i)return e&&i.addEventListener("done",c),t&&i.addEventListener("suggestion",l),n&&i.addEventListener(a.zn,u),()=>{i.removeEventListener("done",c),i.removeEventListener("suggestion",l),i.removeEventListener(a.zn,u)}}),[i]),o}},59886:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(29491),a=n(86087),s=n(51609),o=n.n(s),i=n(46219),c=n(13965);const l=(0,r.createHigherOrderComponent)((e=>t=>{const{suggestion:n,error:r,requestingState:s,request:l,stopSuggestion:u,eventSource:d}=(0,i.Ay)(),p=(0,a.useMemo)((()=>({suggestion:n,requestingError:r,requestingState:s,eventSource:d,requestSuggestion:l,stopSuggestion:u})),[n,r,s,d,l,u]);return o().createElement(c.Rb,{value:p},o().createElement(e,t))}),"withAiDataProvider")},46219:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,fC:()=>i});var r=n(86087),a=n(27723),s=n(87286),o=n(78836);const __=a.__;function i(e){switch(e){case o.Or:return{code:o.Or,message:__("You have reached the limit of requests for this site.","jetpack"),severity:"info"};case o.L9:return{code:o.L9,message:__("Your request was unclear. Mind trying again?","jetpack"),severity:"info"};case o.AZ:return{code:o.AZ,message:__("Jetpack AI services are currently unavailable. Sorry for the inconvenience.","jetpack"),severity:"info"};case o.ud:return{code:o.ud,message:__("This request has been flagged by our moderation system. Please try to rephrase it and try again.","jetpack"),severity:"info"};case o.cT:return{code:o.cT,message:__("The content is too large to be processed all at once. Please try to shorten it or divide it into smaller parts.","jetpack"),severity:"info"};case o.mA:default:return{code:o.mA,message:__("It was not possible to process your request. Mind trying again?","jetpack"),severity:"info"}}}function c(e){return e.replace(/^<\|start_header_id\|>assistant<\|end_header_id\|>[\n]+/,"")}function l({prompt:e,autoRequest:t=!1,askQuestionOptions:n={},initialRequestingState:a="init",onSuggestion:l,onDone:u,onStop:d,onError:p,onAllErrors:m}={}){const[g,A]=(0,r.useState)(a),[h,E]=(0,r.useState)(""),[f,b]=(0,r.useState)(),v=(0,r.useRef)(void 0),C=(0,r.useCallback)((e=>{const t=c(e?.detail);t&&(E(t),l?.(t))}),[l]),k=(0,r.useCallback)((e=>{N();const t=c(e?.detail);u?.(t),A("done")}),[u]),y=(0,r.useCallback)((e=>{m?.(e?.detail)}),[m]),B=(0,r.useCallback)((e=>{v?.current?.close(),A("error"),b(i(e)),p?.(i(e))}),[p]),w=(0,r.useCallback)((()=>B(o.Or)),[]),_=(0,r.useCallback)((()=>B(o.L9)),[]),I=(0,r.useCallback)((()=>B(o.AZ)),[]),j=(0,r.useCallback)((()=>B(o.ud)),[]),x=(0,r.useCallback)((()=>B(o.mA)),[]),S=(0,r.useCallback)((async(e,t={...n})=>{if(b(void 0),A("requesting"),v.current=await(0,s.A)(e,t),!v?.current)return;const r=v.current;A("suggesting"),r.addEventListener("suggestion",C),r.addEventListener(o.Or,w),r.addEventListener(o.L9,_),r.addEventListener(o.AZ,I),r.addEventListener(o.ud,j),r.addEventListener(o.mA,x),r.addEventListener(o.zn,y),r.addEventListener("done",k)}),[k,w,_,I,j,x,C]),Q=(0,r.useCallback)((()=>{A("init"),E(""),b(void 0)}),[]),N=(0,r.useCallback)((()=>{if(!v?.current)return;const e=v?.current;e.close(),e.removeEventListener("suggestion",C),e.removeEventListener(o.Or,w),e.removeEventListener(o.L9,_),e.removeEventListener(o.AZ,I),e.removeEventListener(o.ud,j),e.removeEventListener(o.mA,x),e.removeEventListener("done",k)}),[v,C,w,_,I,j,x,k]),R=(0,r.useCallback)((()=>{N(),d?.(),A("done")}),[d]);return(0,r.useEffect)((()=>{if(e?.length)return t&&S(e,n),()=>{R()}}),[t,e,S,R]),{suggestion:h,error:f,requestingState:g,request:S,stopSuggestion:R,reset:Q,handleErrorQuotaExceededError:w,eventSource:v.current}}},7804:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(86087),a=n(27723),s=n(10067),o=n.n(s),i=n(57745);const __=a.__,c=o()("jetpack-ai-client:use-audio-transcription"),l=e=>{if("string"==typeof e)return e;if("code"in e)switch(e.code){case"error_quota_exceeded":return __("You exceeded your current quota, please check your plan details.","jetpack");case"jetpack_ai_missing_audio_param":return __("The audio_file is required to perform a transcription.","jetpack");case"jetpack_ai_service_unavailable":return __("The Jetpack AI service is temporarily unavailable.","jetpack");case"file_size_not_supported":return __("The provided audio file is too big.","jetpack");case"file_type_not_supported":return __("The provided audio file type is not supported.","jetpack");case"jetpack_ai_error":return __("There was an error processing the transcription request.","jetpack");default:return e.message}return"message"in e?e.message:__("There was an error processing the transcription request.","jetpack")};function u({feature:e,onReady:t,onError:n}){const[a,s]=(0,r.useState)(""),[o,u]=(0,r.useState)(""),[d,p]=(0,r.useState)(!1),m=(0,r.useRef)(null);return{transcriptionResult:a,isTranscribingAudio:d,transcriptionError:o,transcribeAudio:(0,r.useCallback)((r=>{c("Transcribing audio"),s(""),u(""),p(!0);const a=new AbortController;m.current=a,(0,i.A)(r,e,a.signal).then((e=>{s(e),t?.(e)})).catch((e=>{a.signal.aborted||(u(e.message),n?.(l(e)))})).finally((()=>p(!1)))}),[i.A,s,u,p]),cancelTranscription:(0,r.useCallback)((()=>{m.current?.abort(),s(""),u(""),p(!1)}),[m,s,u,p])}}},66859:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(86087),a=n(27723);const __=a.__,s=25e6,o=1500,i=["audio/mpeg","audio/mp3","audio/ogg","audio/flac","audio/x-flac","audio/m4a","audio/x-m4a","audio/mp4","audio/wav","audio/wave","audio/x-wav","audio/webm"];function c(){const[e,t]=(0,r.useState)(!1);return{isValidatingAudio:e,validateAudio:(0,r.useCallback)(((e,n,r)=>{if(t(!0),e?.size>s)return t(!1),r(__("The audio file is too large. The maximum file size is 25MB.","jetpack"));const a=e instanceof File;if(a&&!i.includes(e.type))return t(!1),r(__("The audio file type is not supported. Please use a supported audio file type.","jetpack"));const c=new AudioContext;e.arrayBuffer().then((s=>{c.decodeAudioData(s,(function(s){const i=Math.ceil(s.duration);return i>o?(t(!1),r(__("The audio file is too long. The maximum recording time is 25 minutes.","jetpack"))):(t(!1),n({duration:i,isFile:a,size:e?.size}))}))}))}),[t])}}},62614:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(10067),a=n.n(r),s=n(31439),o=n(51391);const i=a()("ai-client:use-image-generator"),c=(e,t)=>{const n=4e3-t;return e.length>n?e.substring(0,n-6)+" [...]":e},l=async(e,t,n)=>{const r=((e,t)=>{if(t){const n=`I need a Stable Diffusion prompt to generate a featured image for a blog post based on this user-provided image description:\n\n${t.length>1e3?t.substring(0,1e3):t}\n\nThe image should be a photo. Make sure you highlight the main suject of the image description, and include brief details about the light and style of the image.\nInclude a request to use high resolution and produce a highly detailed image, with sharp focus.\nReturn just the prompt, without comments.\n\nFor additional context, this is the post content:\n\n`;return n+c(e,n.length)}return"I need a Stable Diffusion prompt to generate a featured image for a blog post with the following content.\nThe image should be a photo. Make sure you highlight the main suject of the content, and include brief details about the light and style of the image.\nInclude a request to use high resolution and produce a highly detailed image, with sharp focus.\nReturn just the prompt, without comments. The content is:\n\n"+c(e,412)})(e,t);return await(0,s.A)(r,{feature:n})},u=()=>{const e=async function(e){let t="";try{t=(await(0,o.A)()).token}catch(e){return i("Error getting token: %o",e),Promise.reject(e)}try{const n="https://public-api.wordpress.com/wpcom/v2/jetpack-ai-image",r={Authorization:`Bearer ${t}`,"Content-Type":"application/json"},a=await fetch(n,{method:"POST",headers:r,body:JSON.stringify(e)}).then((e=>e.json()));return a?.data?.status&&a?.data?.status>200?(i("Error generating image: %o",a),Promise.reject(a)):a}catch(e){return i("Error generating image: %o",e),Promise.reject(e)}};return{generateImage:async function({feature:t,postContent:n,responseFormat:r="url",userPrompt:a}){try{i("Generating image");const s=((e,t)=>{if(t){const n=`I need a cover image for a blog post based on this user prompt:\n\n${t.length>1e3?t.substring(0,1e3):t}\n\nBefore creating the image, identify the main topic of the user prompt and relate it to the post content.\nDo not represent the whole content in one image, keep it simple and just represent one single idea.\nDo not add details, detailed explanations or highlights from the content, just represent the main idea as if it was a photograph.\nDo not use collages or compositions with multiple elements or scenes. Stick to one single scene. Do not compose unrealistic scenes.\nIf the content describes facts, objects or concepts from the real world, represent them on a realistic style and do not make unreal compositions.\nIf the content is more abstract, use a more abstract style to represent the main idea.\nMake sure the light and the style are visually appealing.\nDo not add text to the image.\n\nFor additional context, this is the post content:\n\n`;return n+c(e,n.length)}const n="I need a cover image for a blog post.\nBefore creating the image, identify the main topic of the content and only represent it.\nDo not represent the whole content in one image, keep it simple and just represent one single idea.\nDo not add details, detailed explanations or highlights from the content, just represent the main idea as if it was a photograph.\nDo not use collages or compositions with multiple elements or scenes. Stick to one single scene. Do not compose unrealistic scenes.\nIf the content describes facts, objects or concepts from the real world, represent them on a realistic style and do not make unreal compositions.\nIf the content is more abstract, use a more abstract style to represent the main idea.\nMake sure the light and the style are visually appealing.\nDo not add text to the image.\n\nThis is the post content:\n\n";return n+c(e,838)})(n,a),o={prompt:s,response_format:r,feature:t,size:"1792x1024"};return await e(o)}catch(e){return i("Error generating image: %o",e),Promise.reject(e)}},generateImageWithStableDiffusion:async function({feature:t,postContent:n,userPrompt:r}){try{i("Generating image with Stable Diffusion");const a={prompt:await l(n,r,t),feature:t,model:"stable-diffusion",style:"photographic"};return await e(a)}catch(e){return i("Error generating image: %o",e),Promise.reject(e)}},generateImageWithParameters:e}}},96657:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(86087);const a="audio/mp4;codecs=mp4a",s="audio/mp4",o="audio/webm";function i({onDone:e}={}){const t=(0,r.useRef)(null),[n,i]=(0,r.useState)("inactive"),c=(0,r.useRef)(!1),l=(0,r.useRef)(0),[u,d]=(0,r.useState)(0),p=(0,r.useRef)(null),[m,g]=(0,r.useState)(null),A=(0,r.useRef)([]).current,[h,E]=(0,r.useState)(null),f=(0,r.useRef)(null);function b(){return MediaRecorder.isTypeSupported(a)?new Blob(A,{type:s}):new Blob(A,{type:o})}const v=(0,r.useCallback)((e=>{if(B(),!e)return t?.current?.start();e<100&&(e=100),l.current=Date.now(),t?.current?.start(e)}),[]),C=(0,r.useCallback)((()=>{c.current=!0,t?.current?.pause(),d((e=>e+Date.now()-l.current))}),[]),k=(0,r.useCallback)((()=>{c.current=!1,t?.current?.resume(),l.current=Date.now()}),[]),y=(0,r.useCallback)((()=>{t?.current?.stop(),"recording"===n&&d((e=>e+Date.now()-l.current))}),[]),B=(0,r.useCallback)((()=>{A.length=0,g(null),E(null),d(0),c.current=!1,l.current=0}),[]),w=(0,r.useCallback)((()=>{t?.current&&(t.current.removeEventListener("start",j),t.current.removeEventListener("stop",x),t.current.removeEventListener("pause",S),t.current.removeEventListener("resume",Q),t.current.removeEventListener("dataavailable",N),t.current=null)}),[]),_=(0,r.useCallback)((()=>{if(i("inactive"),B(),w(),!navigator.mediaDevices?.getUserMedia)return;const e=new AudioContext;f.current=e.createAnalyser();navigator.mediaDevices.getUserMedia({audio:!0}).then((n=>{p.current=n;e.createMediaStreamSource(n).connect(f.current),MediaRecorder.isTypeSupported(a)?t.current=new MediaRecorder(n,{mimeType:a}):t.current=new MediaRecorder(n,{mimeType:o}),t.current.addEventListener("start",j),t.current.addEventListener("stop",x),t.current.addEventListener("pause",S),t.current.addEventListener("resume",Q),t.current.addEventListener("dataavailable",N)})).catch((e=>{throw e}))}),[]),I=(0,r.useCallback)((e=>{y(),E("string"==typeof e?e:e.message),i("error")}),[]);function j(){i("recording")}function x(){const t=b();e?.(t),A.length=0}function S(){i("paused")}function Q(){i("recording")}function N(e){const{data:t}=e;t?.size&&(A.push(t),g(b()),c.current||d((e=>{const t=Date.now(),n=t-l.current;return l.current=t,e+n})))}return(0,r.useEffect)((()=>(_(),()=>{p.current&&p.current.getTracks().forEach((e=>e.stop())),w()})),[]),{state:n,blob:m,error:h,duration:u,analyser:f.current,onError:I,controls:{start:v,pause:C,resume:k,stop:y,reset:_}}}},93869:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(63162),a=n(47143),s=n(86087),o=n(10067);const i=n.n(o)()("ai-client:save-to-media-library");function c(){const[e,t]=(0,s.useState)(!1),{getSettings:n}=(0,a.useSelect)((e=>e("core/block-editor")),[]);return{isLoading:e,saveToMediaLibrary:(e,a)=>{const s=n();return new Promise(((n,o)=>{t(!0),i("Fetching image from URL"),fetch(e).then((e=>{i("Transforming response to blob"),e.blob().then((e=>{i("Uploading blob to media library");const c=Array();a?c.push(new File([e],a)):c.push(e),s.mediaUpload({allowedTypes:["image"],filesList:c,onFileChange([e]){(0,r.isBlobURL)(e?.url)||(e&&(i("Image uploaded to media library",e),n(e)),t(!1))},onError(e){i("Error uploading image to media library:",e),o(e),t(!1)}})})).catch((e=>{i("Error transforming response to blob:",e?.message),o(e?.message),t(!1)}))})).catch((e=>{i("Error fetching image from URL:",e?.message),o(e?.message),t(!1)}))}))}}}},97784:(e,t,n)=>{"use strict";n.d(t,{A:()=>l,u:()=>c});var r=n(86087),a=n(10067),s=n.n(a),o=n(46219);const i=s()("jetpack-ai-client:use-transcription-post-processing"),c="voice-to-content-simple-draft";function l({feature:e,onReady:t,onError:n,onUpdate:a}){const[s,c]=(0,r.useState)(""),[l,u]=(0,r.useState)(""),[d,p]=(0,r.useState)(!1),m=(0,r.useCallback)((e=>{c(e),a?.(e)}),[c,a]),g=(0,r.useCallback)((e=>{c(e),a?.(e),t?.(e)}),[c,a,t]),A=(0,r.useCallback)((e=>{u(e.message),n?.(e.message)}),[u,n]),{request:h,stopSuggestion:E}=(0,o.Ay)({onSuggestion:m,onDone:g,onError:A});return{postProcessingResult:s,isProcessingTranscription:d,postProcessingError:l,processTranscription:(0,r.useCallback)(((t,n)=>{i("Post-processing transcription"),c(""),u(""),p(!0);h([{role:"jetpack-ai",context:{type:t,content:n}}],{feature:e})}),[c,u,p,h,e]),cancelTranscriptionProcessing:(0,r.useCallback)((()=>{E(),p(!1)}),[E,p])}}},30151:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(56427),a=n(51609),s=n.n(a);const o=s().createElement(r.SVG,{viewBox:"0 0 32 32",width:"32",height:"32",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",className:"ai-assistant-icon"},s().createElement(r.Path,{className:"spark-first",d:"M9.33301 5.33325L10.4644 8.20188L13.333 9.33325L10.4644 10.4646L9.33301 13.3333L8.20164 10.4646L5.33301 9.33325L8.20164 8.20188L9.33301 5.33325Z"}),s().createElement(r.Path,{className:"spark-second",d:"M21.3333 5.33333L22.8418 9.15817L26.6667 10.6667L22.8418 12.1752L21.3333 16L19.8248 12.1752L16 10.6667L19.8248 9.15817L21.3333 5.33333Z"}),s().createElement(r.Path,{className:"spark-third",d:"M14.6667 13.3333L16.5523 18.1144L21.3333 20L16.5523 21.8856L14.6667 26.6667L12.781 21.8856L8 20L12.781 18.1144L14.6667 13.3333Z"}))},42154:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(56427);const a=React.createElement(r.SVG,{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},React.createElement(r.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M10 3.95833C6.66328 3.95833 3.95833 6.66327 3.95833 9.99999C3.95833 13.3367 6.66328 16.0417 10 16.0417C13.3367 16.0417 16.0417 13.3367 16.0417 9.99999C16.0417 6.66327 13.3367 3.95833 10 3.95833ZM2.70833 9.99999C2.70833 5.97292 5.97292 2.70833 10 2.70833C14.0271 2.70833 17.2917 5.97292 17.2917 9.99999C17.2917 14.0271 14.0271 17.2917 10 17.2917C5.97292 17.2917 2.70833 14.0271 2.70833 9.99999Z"}),React.createElement(r.Path,{d:"M10.8333 5.83333H9.16667V10.8333H10.8333V5.83333Z"}),React.createElement(r.Path,{d:"M10.8333 12.5H9.16667V14.1667H10.8333V12.5Z"}))},91396:(e,t,n)=>{"use strict";n.d(t,{Qr:()=>o.A,Vo:()=>a.A,cj:()=>r.A,ni:()=>s.A});var r=n(30151),a=n(81353),s=(n(95007),n(96626),n(4416),n(25680)),o=n(67205)},81353:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(56427),a=n(51609),s=n.n(a);const o=s().createElement(r.SVG,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/SVG"},s().createElement(r.Path,{d:"M12 4.75C11.0479 4.75 10.1052 4.93753 9.22554 5.30187C8.34593 5.66622 7.5467 6.20025 6.87348 6.87348C6.20025 7.5467 5.66622 8.34593 5.30187 9.22554C4.93753 10.1052 4.75 11.0479 4.75 12C4.75 12.9521 4.93753 13.8948 5.30187 14.7745C5.66622 15.6541 6.20025 16.4533 6.87348 17.1265C7.5467 17.7997 8.34593 18.3338 9.22554 18.6981C10.1052 19.0625 11.0479 19.25 12 19.25C13.9228 19.25 15.7669 18.4862 17.1265 17.1265C18.4862 15.7669 19.25 13.9228 19.25 12C19.25 10.0772 18.4862 8.23312 17.1265 6.87348C15.7669 5.51384 13.9228 4.75 12 4.75ZM3.25 12C3.25 9.67936 4.17187 7.45376 5.81282 5.81282C7.45376 4.17187 9.67936 3.25 12 3.25C14.3206 3.25 16.5462 4.17187 18.1872 5.81282C19.8281 7.45376 20.75 9.67936 20.75 12C20.75 14.3206 19.8281 16.5462 18.1872 18.1872C16.5462 19.8281 14.3206 20.75 12 20.75C9.67936 20.75 7.45376 19.8281 5.81282 18.1872C4.17187 16.5462 3.25 14.3206 3.25 12Z",fill:"#008710"}),s().createElement(r.Rect,{x:"10.5",y:"8.25",width:"3",height:"4.875",rx:"1.5",fill:"#008710"}),s().createElement(r.Path,{d:"M15 11.25C15 11.644 14.9224 12.0341 14.7716 12.3981C14.6209 12.762 14.3999 13.0927 14.1213 13.3713C13.8427 13.6499 13.512 13.8709 13.1481 14.0216C12.7841 14.1724 12.394 14.25 12 14.25C11.606 14.25 11.2159 14.1724 10.8519 14.0216C10.488 13.8709 10.1573 13.6499 9.87868 13.3713C9.6001 13.0927 9.37913 12.762 9.22836 12.3981C9.0776 12.0341 9 11.644 9 11.25",stroke:"#008710",strokeWidth:"1.125",strokeLinecap:"round"}),s().createElement(r.Path,{d:"M11.4375 15.75C11.4375 16.0607 11.6893 16.3125 12 16.3125C12.3107 16.3125 12.5625 16.0607 12.5625 15.75L11.4375 15.75ZM11.4375 14.25L11.4375 15.75L12.5625 15.75L12.5625 14.25L11.4375 14.25Z",fill:"#008710"}))},95007:(e,t,n)=>{"use strict";var r=n(56427),a=n(51609),s=n.n(a);r.SVG,r.Path,r.Path},25680:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(56427),a=n(51609),s=n.n(a);const o=s().createElement(r.SVG,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/SVG"},s().createElement(r.Path,{d:"M12 4.75C11.0479 4.75 10.1052 4.93753 9.22554 5.30187C8.34593 5.66622 7.5467 6.20025 6.87348 6.87348C6.20025 7.5467 5.66622 8.34593 5.30187 9.22554C4.93753 10.1052 4.75 11.0479 4.75 12C4.75 12.9521 4.93753 13.8948 5.30187 14.7745C5.66622 15.6541 6.20025 16.4533 6.87348 17.1265C7.5467 17.7997 8.34593 18.3338 9.22554 18.6981C10.1052 19.0625 11.0479 19.25 12 19.25C13.9228 19.25 15.7669 18.4862 17.1265 17.1265C18.4862 15.7669 19.25 13.9228 19.25 12C19.25 10.0772 18.4862 8.23312 17.1265 6.87348C15.7669 5.51384 13.9228 4.75 12 4.75ZM3.25 12C3.25 9.67936 4.17187 7.45376 5.81282 5.81282C7.45376 4.17187 9.67936 3.25 12 3.25C14.3206 3.25 16.5462 4.17187 18.1872 5.81282C19.8281 7.45376 20.75 9.67936 20.75 12C20.75 14.3206 19.8281 16.5462 18.1872 18.1872C16.5462 19.8281 14.3206 20.75 12 20.75C9.67936 20.75 7.45376 19.8281 5.81282 18.1872C4.17187 16.5462 3.25 14.3206 3.25 12Z",fill:"#008710"}),s().createElement(r.Rect,{x:"12.75",y:"9",width:"2.25",height:"6",fill:"#008710"}),s().createElement(r.Rect,{x:"9",y:"9",width:"2.25",height:"6",fill:"#008710"}))},96626:(e,t,n)=>{"use strict";var r=n(56427),a=n(51609),s=n.n(a);r.SVG,r.Path,r.Path},4416:(e,t,n)=>{"use strict";var r=n(56427),a=n(51609),s=n.n(a);r.SVG,r.Path,r.Rect},67205:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(56427),a=n(51609),s=n.n(a);const o=s().createElement(r.SVG,{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},s().createElement(r.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12.5 10C12.5 11.3807 11.3807 12.5 10 12.5C8.61929 12.5 7.5 11.3807 7.5 10C7.5 8.61929 8.61929 7.5 10 7.5C11.3807 7.5 12.5 8.61929 12.5 10ZM14 10C14 12.2091 12.2091 14 10 14C7.79086 14 6 12.2091 6 10C6 7.79086 7.79086 6 10 6C12.2091 6 14 7.79086 14 10ZM16.75 21V19C16.75 17.4812 15.5188 16.25 14 16.25L6 16.25C4.48122 16.25 3.25 17.4812 3.25 19V21H4.75L4.75 19C4.75 18.3096 5.30964 17.75 6 17.75L14 17.75C14.6904 17.75 15.25 18.3096 15.25 19V21H16.75Z",fill:"currentColor"}),s().createElement(r.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M19.976 16.3599C21.2507 14.5642 22.0001 12.3695 22.0001 9.99969C22.0001 7.63128 21.2515 5.43769 19.9782 3.64258L18.754 4.50967C19.8537 6.05996 20.5001 7.95434 20.5001 9.99969C20.5001 12.0464 19.8528 13.9419 18.7519 15.4928L19.976 16.3599ZM17.3357 14.4897C18.2357 13.222 18.7648 11.6727 18.7648 9.99969C18.7648 8.32808 18.2365 6.77984 17.3379 5.51279L16.1137 6.37988C16.8387 7.4021 17.2648 8.65114 17.2648 9.99969C17.2648 11.3496 16.8378 12.5998 16.1116 13.6226L17.3357 14.4897Z",fill:"currentColor"}))},96865:(e,t,n)=>{"use strict";n.d(t,{AK:()=>d.AK,AZ:()=>m.AZ,E0:()=>o.A,FC:()=>d.FC,Hh:()=>g.Hh,Kf:()=>l.A,L9:()=>m.L9,N0:()=>d.N0,OO:()=>g.OO,Or:()=>m.Or,Qr:()=>u.Qr,R0:()=>r.A,Su:()=>g.Su,Tg:()=>A.T,Vo:()=>u.Vo,XE:()=>a.Ay,Yj:()=>d.Yj,Z2:()=>p.Z2,be:()=>s.A,cQ:()=>p.cQ,cT:()=>m.cT,cj:()=>u.cj,mA:()=>m.mA,ni:()=>u.ni,rh:()=>g.rh,rr:()=>c.A,uH:()=>m.uH,ud:()=>m.ud,wS:()=>d.wS,xA:()=>i.A,z3:()=>d.z3});n(51391),n(53664),n(87286);var r=n(31439),a=(n(57745),n(46219)),s=n(96657),o=n(7804),i=n(97784),c=n(66859),l=n(62614),u=n(91396),d=n(27802),p=n(13965),m=n(78836),g=n(72586),A=n(23101)},51391:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(85985),a=n(10067),s=n.n(a),o=n(48931);const i=s()("jetpack-ai-client:jwt"),c="jetpack-ai-jwt",l=12e4;async function u({apiNonce:e,siteId:t,expirationTime:n}={}){e=e||window.JP_CONNECTION_INITIAL_STATE.apiNonce,t=t||window.JP_CONNECTION_INITIAL_STATE.siteSuffix,n=n||l;const a=(0,r.Sy)(),s=localStorage.getItem(c);let u,d=null;if(s)try{d=JSON.parse(s)}catch(e){i("Error parsing token",e)}if(d&&d?.expire>Date.now())return i("Using cached token"),d;u=a?await(0,o.A)({path:"/wpcom/v2/sites/"+t+"/jetpack-openai-query/jwt",method:"POST"}):await(0,o.A)({path:"/jetpack/v4/jetpack-ai-jwt?_cacheBuster="+Date.now(),credentials:"same-origin",headers:{"X-WP-Nonce":e},method:"POST"});const p={token:u.token,blogId:a?t:u.blog_id,expire:Date.now()+n};return i("Storing new token"),localStorage.setItem(c,JSON.stringify(p)),p}},72586:(e,t,n)=>{"use strict";n.d(t,{Hh:()=>r.Hh,OO:()=>r.OO,Su:()=>r.Su,rh:()=>r.rh});var r=n(55166)},68641:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(21147);const a={paragraph:e=>e.replaceAll("\n","
")},s={emDelimiter:"_",headingStyle:"atx"},o={strikethrough:{filter:["del","s"],replacement:function(e){return"~~"+e+"~~"}}};class i{constructor({options:e={},rules:t={},keep:n=[],remove:a=[],fixes:i=[]}={}){this.fixes=i,this.turndownService=new r.A({...s,...e}),this.turndownService.keep(n),this.turndownService.remove(a);const c={...o,...t};for(const e in c)this.turndownService.addRule(e,c[e])}render({content:e}){const t=this.turndownService.turndown(e);return this.fixes.reduce(((e,t)=>a[t](e)),t)}}},55166:(e,t,n)=>{"use strict";n.d(t,{Hh:()=>i,OO:()=>r.A,Su:()=>a.S,rh:()=>c});var r=n(68641),a=n(31737);const s=new a.A,o=new r.A,i=({content:e,rules:t,extension:n})=>s.render({content:e,rules:t,extension:n}),c=({content:e})=>o.render({content:e})},31737:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,S:()=>s});var r=n(97158);const a=e=>e.replaceAll("\x3c!-- wp:list-item --\x3e","").replaceAll("\x3c!-- /wp:list-item --\x3e","").replaceAll("\x3c!-- wp:list --\x3e","").replaceAll("\x3c!-- /wp:list --\x3e","").replaceAll("
/g,"